usmcsnipes

Wireless Turtle Main Computer

May 16th, 2013
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.34 KB | None | 0 0
  1. -- masterCode
  2.  
  3. local isRunning = true
  4. local clientId = 0
  5. local fLevel = 0
  6.  
  7. function screenClear()
  8. shell.run("clear")
  9. print("Master Computer")
  10. print("-----------------------------------------------")
  11. print("Keys: W: Forward, A: Left, D: Right")
  12. print(" Q: Up, E: Down, 1: Dig, 2: DigDown")
  13. print(" 3: DigUp, 5: Tunnel 5, 6: Excavate 10")
  14. print(" R: Refuel All, C: Checks Items In Slot 16")
  15. print("-----------------------------------------------")
  16. print("Fuel Level: "..fLevel)
  17. print("-----------------------------------------------")
  18. print("Waiting For Commands . . .")
  19. end
  20.  
  21.  
  22. function checkFuel()
  23. while true do
  24. event, senderId, message = os.pullEvent("rednet_message")
  25. if event == "rednet_message" and senderId == clientId then
  26. fLevel = message
  27. break
  28. else
  29. print("\nPCID is false . . .")
  30. break
  31. end
  32. end
  33.  
  34. --fLevel = 98
  35. if fLevel <= 100 then
  36. print("\nWARNING! Fuel Level is LOW!")
  37. end
  38. end
  39.  
  40. function tForward()
  41. screenClear()
  42. print("Moving Turtle Forward")
  43. rednet.send(clientId, "w")
  44. checkFuel()
  45. end
  46.  
  47. function tTurnLeft()
  48. screenClear()
  49. print("Turning Turtle Left")
  50. rednet.send(clientId, "a")
  51. end
  52.  
  53. function tTurnRight()
  54. screenClear()
  55. print("Turning Turtle Right")
  56. rednet.send(clientId, "d")
  57. end
  58.  
  59. function tUp()
  60. screenClear()
  61. print("Moving Turtle Up")
  62. rednet.send(clientId, "q")
  63. checkFuel()
  64. end
  65.  
  66. function tDown()
  67. screenClear()
  68. print("Moving Turtle Down")
  69. rednet.send(clientId, "e")
  70. checkFuel()
  71. end
  72.  
  73. function tDig()
  74. screenClear()
  75. print("Turtle Is Digging In Front")
  76. rednet.send(clientId, "1")
  77. checkFuel()
  78. end
  79.  
  80. function tDigUp()
  81. screenClear()
  82. print("Turtle Is Digging Up")
  83. rednet.send(clientId, "3")
  84. checkFuel()
  85. end
  86.  
  87. function tDigDown()
  88. screenClear()
  89. print("Turtle Is Digging Down")
  90. rednet.send(clientId, "2")
  91. checkFuel()
  92. end
  93.  
  94. function tTunnel()
  95. screenClear()
  96. print("Turtle Is Running From Shell(tunnel 5)")
  97. rednet.send(clientId, "5")
  98. while true do
  99. event, senderId, message = os.pullEvent("rednet_message")
  100. if event == "rednet_message" and senderId == clientId and message == "done" then
  101. print("\nShell Program Completed!")
  102. break
  103. else
  104. print("\nPCID is false . . .")
  105. break
  106. end
  107. end
  108. checkFuel()
  109. end
  110.  
  111. function tExcavate()
  112. screenClear()
  113. print("Turtle Is Running From Shell(excavate 10)")
  114. rednet.send(clientId, "6")
  115. end
  116.  
  117. function tRefuel()
  118. message = ""
  119. screenClear()
  120. print("Turtle Is Running From Shell(refuel all)")
  121. rednet.send(clientId, "r")
  122. while true do
  123. event, senderId, message = os.pullEvent("rednet_message")
  124. if event == "rednet_message" and senderId == clientId then
  125. print("\n"..message)
  126. break
  127. else
  128. print("\nPCID is false . . .")
  129. break
  130. end
  131. end
  132. end
  133.  
  134. function tCheckInv()
  135. screenClear()
  136. print("Turtle Is Checking Slot 16")
  137. rednet.send(clientId, "c")
  138. while true do
  139. event, senderId, message = os.pullEvent("rednet_message")
  140. if event == "rednet_message" and senderId == clientId then
  141. print("\n"..message)
  142. break
  143. else
  144. print("\nPCID is false . . .")
  145. break
  146. end
  147. end
  148. end
  149.  
  150. if not rednet.isOpen("right") then
  151. rednet.open("right")
  152. end
  153.  
  154. screenClear()
  155.  
  156. while isRunning == true do
  157. event, scancode = os.pullEvent()
  158.  
  159. if event == "key" and scancode == 17 then
  160. tForward()
  161. elseif event == "key" and scancode == 30 then
  162. tTurnLeft()
  163. elseif event == "key" and scancode == 32 then
  164. tTurnRight()
  165. elseif event == "key" and scancode == 16 then
  166. tUp()
  167. elseif event == "key" and scancode == 18 then
  168. tDown()
  169. elseif event == "key" and scancode == 2 then
  170. tDig()
  171. elseif event == "key" and scancode == 4 then
  172. tDigUp()
  173. elseif event == "key" and scancode == 3 then
  174. tDigDown()
  175. elseif event == "key" and scancode == 6 then
  176. tTunnel()
  177. elseif event == "key" and scancode == 7 then
  178. tExcavate()
  179. elseif event == "key" and scancode == 19 then
  180. tRefuel()
  181. elseif event == "key" and scancode == 46 then
  182. tCheckInv()
  183. end
  184.  
  185. end
Advertisement
Add Comment
Please, Sign In to add comment