Guest User

ComputerCraft Hurdles Arcade

a guest
Mar 23rd, 2013
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. --Hurdles Arcade, original game by Noodle, modded by martin509.
  2. hurdle = { x = 1, y = 16 }
  3. player = { y = 16, x = 3, c = 1, dead = false, jumps = 0, hurdles = 0 }
  4. x, y = term.getSize()
  5. function clear()
  6. term.clear()
  7.  
  8. term.setCursorPos(1,1)
  9. end
  10. function clearLine(ln)
  11. term.setCursorPos(1,ln)
  12. term.clearLine()
  13. end
  14. function CheckCollision()
  15. if (player.x == hurdle.x) then
  16. if player.y == hurdle.y then
  17. return true
  18. else
  19.  
  20. player.hurdles = player.hurdles + 1
  21. return false
  22. end
  23.  
  24. end
  25. return false
  26. end
  27. function draw()
  28. term.setCursorPos(1,1)
  29. print("Hurdles: ".. math.ceil(player.hurdles/2))
  30. print("Jumps: ".. player.jumps)
  31. clearLine(15) -- Faster clearing, less lag!
  32. clearLine(16)
  33. term.setCursorPos(1, hurdle.y)
  34. write(string.rep("_", x-1))
  35.  
  36. write(string.rep("#", x-1))
  37.  
  38. write(string.rep("~", x-1))
  39. term.setCursorPos(hurdle.x, hurdle.y)
  40. write("/\\")
  41. term.setCursorPos(player.x, player.y)
  42. write("@")
  43. end
  44. -- Update, handles collision, player jumping, etc.
  45. function update()
  46. player.c = player.c + 1
  47.  
  48. hurdle.x = hurdle.x - 1
  49.  
  50. if player.y > 1 and player.c >= 10 then
  51. player.y = 16
  52. player.c = 1
  53. end
  54.  
  55. if hurdle.x <= 1 then
  56. hurdle.x = x
  57.  
  58. end
  59.  
  60. if CheckCollision() then
  61. player.dead = true
  62. end
  63. end
  64. while true do
  65. term.setCursorPos((x/2)-7,y/2-2)
  66. write("___/\\_____/\\___")
  67. term.setCursorPos((x/2)-7,y/2-1)
  68. write("|H U R D L E S|")
  69. term.setCursorPos((x/2)-7,y/2)
  70. write("|PRESS BUTTON|")
  71. term.setCursorPos((x/2)-7,y/2+1)
  72. write("###############")
  73. os.pullEvent("redstone")
  74. break
  75. end
  76. clear()
  77. os.startTimer(.15)
  78.  
  79. while not player.dead do
  80. event = os.pullEvent()
  81. if event == "redstone"
  82. then
  83. if redstone.getInput("left") == true then
  84. if player.y == 16 then
  85. player.y = player.y - 1
  86. player.jumps = player.jumps + 1
  87. end
  88. end
  89. end
  90. if event == "timer" then
  91. update()
  92. draw()
  93.  
  94. os.startTimer(.15)
  95. end
  96. end
  97. clear()
  98. print("Player Died!")
  99. print("Scores ")
  100. print("Hurdles: ".. player.hurdles)
  101. print("Jumps: ".. player.jumps)
  102. sleep(5)
  103. os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment