Guest User

Remote Miner Computer

a guest
Aug 7th, 2012
828
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. rednet.open("back")
  2. foundturtle = false
  3. chardir = 1
  4. map = {}
  5. for i=1, 350 do
  6. map[i] = {}
  7. for j=1, 350 do
  8. map[i][j] = 0
  9. end
  10. end
  11. turtlex = 175
  12. turtley = 175
  13. map[turtlex][turtley] = 1
  14. dismap = {}
  15. for i=-5, 5 do
  16. dismap[i+6] = {}
  17. for j=-5, 5 do
  18. dismap[i+6][j+6] = map[turtlex+i][turtley+j]
  19. end
  20. end
  21. function drawgui()
  22. term.clear()
  23. term.setCursorPos(1,1)
  24. for j=1, 11 do
  25. for i=1, 11 do
  26. if i ~= 6 or j ~= 6 then
  27. if dismap[i][j] == 0 then
  28. io.write("?")
  29. end
  30. if dismap[i][j] == 1 then
  31. io.write(" ")
  32. end
  33. if dismap[i][j] == 2 then
  34. io.write("O")
  35. end
  36. if dismap[i][j] == 3 then
  37. io.write("C")
  38. end
  39. if dismap[i][j] == 4 then
  40. io.write("I")
  41. end
  42. if dismap[i][j] == 5 then
  43. io.write("G")
  44. end
  45. if dismap[i][j] == 6 then
  46. io.write("D")
  47. end
  48. end
  49. if (i == 6 and j == 6) then
  50. if chardir == 1 then
  51. io.write("^")
  52. end
  53. if chardir == 2 then
  54. io.write("<")
  55. end
  56. if chardir == 3 then
  57. io.write("V")
  58. end
  59. if chardir == 4 then
  60. io.write(">")
  61. end
  62. end
  63. end
  64. print()
  65. end
  66. end
  67. function clearscreen()
  68. term.clear()
  69. term.setCursorPos(1,1)
  70. end
  71. findturt = function()
  72. while not foundturtle do
  73. senderID, message, distance = rednet.receive()
  74. if message == "isturtle" then
  75. foundturtle = true
  76. end
  77. end
  78. end
  79. prntprogress = function()
  80. while true do
  81. clearscreen()
  82. io.write("Searching for Turtles.")
  83. sleep(0.5)
  84. io.write(".")
  85. sleep(0.5)
  86. io.write(".")
  87. sleep(0.5)
  88. end
  89. end
  90. parallel.waitForAny (findturt, prntprogress)
  91. rednet.send(senderID, "foundyou")
  92. clearscreen()
  93. print("Turtle found.")
  94. sleep(1)
  95. if type("4") == string then
  96. print("TRUE")
  97. end
  98. while true do
  99. dismap = {}
  100. for i=-5, 5 do
  101. dismap[i+6] = {}
  102. for j=-5, 5 do
  103. dismap[i+6][j+6] = map[turtlex+i][turtley+j]
  104. end
  105. end
  106. drawgui()
  107. event, key = os.pullEvent()
  108. if event == "key" then
  109. if key == 17 then
  110. if chardir == 1 then
  111. rednet.send(senderID, "4")
  112. senderID2, message = rednet.receive()
  113. if string.sub(message,1,1) == "1" then
  114. turtley = turtley - 1
  115. end
  116. end
  117. if chardir ~= 1 then
  118. if chardir == 2 then
  119. rednet.send(senderID, "1")
  120. senderID2, message = rednet.receive()
  121. end
  122. if chardir == 4 then
  123. rednet.send(senderID, "2")
  124. senderID2, message = rednet.receive()
  125. end
  126. if chardir == 3 then
  127. rednet.send(senderID, "3")
  128. senderID2, message = rednet.receive()
  129. end
  130. chardir = 1
  131. end
  132. end
  133. if key == 30 then
  134. if chardir == 2 then
  135. rednet.send(senderID, "4")
  136. senderID2, message = rednet.receive()
  137. if string.sub(message,1,1) == "1" then
  138. turtlex = turtlex - 1
  139. end
  140. end
  141. if chardir ~= 2 then
  142. if chardir == 1 then
  143. rednet.send(senderID, "2")
  144. senderID2, message = rednet.receive()
  145. end
  146. if chardir == 3 then
  147. rednet.send(senderID, "1")
  148. senderID2, message = rednet.receive()
  149. end
  150. if chardir == 4 then
  151. rednet.send(senderID, "3")
  152. senderID2, message = rednet.receive()
  153. end
  154. chardir = 2
  155. end
  156. end
  157. if key == 31 then
  158. if chardir == 3 then
  159. rednet.send(senderID, "4")
  160. senderID2, message = rednet.receive()
  161. if string.sub(message,1,1) == "1" then
  162. turtley = turtley + 1
  163. end
  164. end
  165. if chardir == 4 then
  166. rednet.send(senderID, "1")
  167. senderID2, message = rednet.receive()
  168. end
  169. if chardir == 2 then
  170. rednet.send(senderID, "2")
  171. senderID2, message = rednet.receive()
  172. end
  173. if chardir == 1 then
  174. rednet.send(senderID, "3")
  175. senderID2, message = rednet.receive()
  176. end
  177. chardir = 3
  178. end
  179. if key == 32 then
  180. if chardir == 4 then
  181. rednet.send(senderID, "4")
  182. senderID2, message = rednet.receive()
  183. if string.sub(message,1,1) == "1" then
  184. turtlex = turtlex + 1
  185. end
  186. end
  187. if chardir == 2 then
  188. rednet.send(senderID, "3")
  189. senderID2, message = rednet.receive()
  190. end
  191. if chardir == 1 then
  192. rednet.send(senderID, "1")
  193. senderID2, message = rednet.receive()
  194. end
  195. if chardir == 3 then
  196. rednet.send(senderID, "2")
  197. senderID2, message = rednet.receive()
  198. end
  199. chardir = 4
  200. end
  201. if key == 33 then
  202. rednet.send(senderID, "5")
  203. senderID2, message = rednet.receive()
  204. end
  205. --MARKER@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  206. if chardir == 4 then
  207. map[turtlex+1][turtley] = tonumber(string.sub(message,2,2))
  208. end
  209. if chardir == 3 then
  210. map[turtlex][turtley+1] = tonumber(string.sub(message,2,2))
  211. end
  212. if chardir == 2 then
  213. map[turtlex-1][turtley] = tonumber(string.sub(message,2,2))
  214. end
  215. if chardir == 1 then
  216. map[turtlex][turtley-1] = tonumber(string.sub(message,2,2))
  217. end
  218. --MARKER@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  219.  
  220. end
  221. drawgui()
  222. end
Advertisement
Add Comment
Please, Sign In to add comment