Guest User

Remote Miner Turtle

a guest
Aug 7th, 2012
1,111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1.  
  2. rednet.open("right")
  3. chardir = 1
  4. foundserv = false
  5. function clearscreen()
  6. term.clear()
  7. term.setCursorPos(1,1)
  8. end
  9. findserv = function()
  10. while not foundserv do
  11. rednet.broadcast("isturtle")
  12. sleep(0.5)
  13. end
  14. end
  15. getresponse = function()
  16. while true do
  17. senderID, message, distance = rednet.receive()
  18. if message == "foundyou" then
  19. foundserv = true
  20. print("BLAAAAAARG!")
  21. end
  22. end
  23. end
  24. prntprogress = function()
  25. while true do
  26. clearscreen()
  27. io.write("Searching for Servers.")
  28. sleep(0.5)
  29. io.write(".")
  30. sleep(0.5)
  31. io.write(".")
  32. sleep(0.5)
  33. end
  34. end
  35. function check()
  36. data = 1 --nothing
  37. if turtle.detect() then
  38. data = 2 --unknown block
  39. end
  40. turtle.select(13)
  41. if turtle.compare() then
  42. data = 3 --coal
  43. end
  44. turtle.select(14)
  45. if turtle.compare() then
  46. data = 4 --iron
  47. end
  48. turtle.select(15)
  49. if turtle.compare() then
  50. data = 5 --gold
  51. end
  52. turtle.select(16)
  53. if turtle.compare() then
  54. data = 6 --diamond
  55. end
  56. return(data)
  57. end
  58. parallel.waitForAny (findserv, prntprogress, getresponse)
  59. print("Server found.")
  60. while true do
  61. event, senderID, message = os.pullEvent()
  62. if event == "rednet_message" then
  63. retval = 2
  64. oreval = 0
  65. if message == "1" then
  66. turtle.turnRight()
  67. retval = 1
  68. oreval = check()
  69. end
  70. if message == "2" then
  71. turtle.turnLeft()
  72. retval = 1
  73. oreval = check()
  74. end
  75. if message == "3" then
  76. turtle.turnRight()
  77. turtle.turnRight()
  78. retval = 1
  79. oreval = check()
  80. end
  81. if message == "4" then
  82. if turtle.forward() then
  83. retval = 1
  84. oreval = check()
  85. end
  86. end
  87. if message == "5" then
  88. turtle.dig()
  89. retval = 1
  90. oreval = check()
  91. end
  92. rednet.send(senderID, tostring(retval)..tostring(oreval))
  93. end
  94. end
Advertisement
Add Comment
Please, Sign In to add comment