SHOW:
|
|
- or go back to the newest paste.
| 1 | - | while true do |
| 1 | + | --THINGS TO ADD: Fuel meter, auto startup, "connect to turtle" - which wakes the turtle? |
| 2 | ||
| 3 | - | side = "top" |
| 3 | + | local isRunning = true |
| 4 | ||
| 5 | function Quit() | |
| 6 | isRunning = false | |
| 7 | term.setCursorPos(1,1) | |
| 8 | term.setBackgroundColour(colours.black) | |
| 9 | - | print("Welcome to turtle control!")
|
| 9 | + | term.setTextColour(colours.white) |
| 10 | term.clear() | |
| 11 | - | paintutils.drawFilledBox(2,2,16,5,colors.yellow) |
| 11 | + | error() |
| 12 | - | paintutils.drawFilledBox(19,2,32,5,colors.yellow) |
| 12 | + | end |
| 13 | - | paintutils.drawFilledBox(2,7,16,10,colors.yellow) |
| 13 | + | |
| 14 | - | paintutils.drawFilledBox(19,7,32,10,colors.yellow) |
| 14 | + | local function getModem() |
| 15 | - | paintutils.drawFilledBox(2,12,16,15,colors.yellow) |
| 15 | + | for a,b in pairs(rs.getSides()) do |
| 16 | - | paintutils.drawFilledBox(19,12,32,15,colors.yellow) |
| 16 | + | if peripheral.getType(b) == "modem" and peripheral.call(b,"isWireless") then |
| 17 | - | term.setCursorPos(6,3) |
| 17 | + | return b |
| 18 | end | |
| 19 | - | term.setCursorPos(21,3) |
| 19 | + | |
| 20 | - | print("Backwards")
|
| 20 | + | end |
| 21 | - | term.setCursorPos(6,8) |
| 21 | + | |
| 22 | while isRunning do | |
| 23 | - | term.setCursorPos(21,8) |
| 23 | + | |
| 24 | side = getModem() | |
| 25 | - | term.setCursorPos(6,13) |
| 25 | + | |
| 26 | - | print("Turn Left")
|
| 26 | + | |
| 27 | - | term.setCursorPos(21,13) |
| 27 | + | |
| 28 | - | print("Turn Right")
|
| 28 | + | |
| 29 | term.setTextColor(colors.blue) | |
| 30 | print("Turtle Control")
| |
| 31 | - | if x == 2 and y == 2 or x == 16 and y == 5 or x > 2 and x < 16 and y > 2 and y < 5 then |
| 31 | + | |
| 32 | paintutils.drawFilledBox(2,2,10,5,colors.yellow) -- Forward | |
| 33 | paintutils.drawFilledBox(16,2,24,5,colors.yellow) -- Backward | |
| 34 | paintutils.drawFilledBox(2,7,10,10,colors.yellow) -- Left | |
| 35 | - | elseif x == 19 and y == 2 or x == 32 and y == 5 or x > 19 and x < 32 and y > 2 and y < 5 then |
| 35 | + | paintutils.drawFilledBox(16,7,24,10,colors.yellow) -- Right |
| 36 | paintutils.drawFilledBox(2,12,10,15,colors.yellow) -- Turn Left | |
| 37 | paintutils.drawFilledBox(16,12,24,15,colors.yellow) -- Turn Right | |
| 38 | paintutils.drawFilledBox(2,18,10,20,colors.yellow) -- Action | |
| 39 | - | elseif x == 2 and y == 7 or x == 16 and y == 10 or x > 2 and x < 16 and y > 7 and y < 10 then |
| 39 | + | paintutils.drawFilledBox(16,18,24,20,colors.red) -- Exit |
| 40 | term.setCursorPos(3,4) | |
| 41 | print("Forward")
| |
| 42 | term.setCursorPos(16,4) | |
| 43 | - | elseif x == 19 and y == 7 or x == 32 and y == 10 or x > 19 and x < 32 and y > 7 and y < 10 then |
| 43 | + | print("Backward")
|
| 44 | term.setCursorPos(4,9) | |
| 45 | print("Left")
| |
| 46 | term.setCursorPos(18,9) | |
| 47 | - | elseif x == 2 and y == 12 or x == 16 and y == 17 or x > 2 and x < 16 and y > 12 and y < 17 then |
| 47 | + | |
| 48 | term.setCursorPos(4,13) | |
| 49 | print("Turn")
| |
| 50 | term.setCursorPos(4,14) | |
| 51 | - | elseif x == 19 and y == 12 or x == 32 and y == 17 or x > 19 and x < 32 and y > 12 and y < 17 then |
| 51 | + | |
| 52 | term.setCursorPos(18,13) | |
| 53 | print("Turn")
| |
| 54 | term.setCursorPos(18,14) | |
| 55 | print("Right")
| |
| 56 | term.setCursorPos(4,19) | |
| 57 | print("Action")
| |
| 58 | term.setCursorPos(18,19) | |
| 59 | print("Quit")
| |
| 60 | while notclicked do | |
| 61 | event,button,x,y = os.pullEvent("mouse_click")
| |
| 62 | if x == 2 and y == 2 or x == 10 and y == 5 or x > 2 and x < 10 and y > 2 and y < 5 then | |
| 63 | rednet.open(side) | |
| 64 | rednet.broadcast("forward")
| |
| 65 | rednet.close(side) | |
| 66 | elseif x == 16 and y == 2 or x == 24 and y == 5 or x > 16 and x < 24 and y > 2 and y < 5 then | |
| 67 | rednet.open(side) | |
| 68 | rednet.broadcast("backwards")
| |
| 69 | rednet.close(side) | |
| 70 | elseif x == 2 and y == 7 or x == 10 and y == 10 or x > 2 and x < 10 and y > 7 and y < 10 then | |
| 71 | rednet.open(side) | |
| 72 | rednet.broadcast("left")
| |
| 73 | rednet.close(side) | |
| 74 | elseif x == 16 and y == 7 or x == 24 and y == 10 or x > 16 and x < 24 and y > 7 and y < 10 then | |
| 75 | rednet.open(side) | |
| 76 | rednet.broadcast("right")
| |
| 77 | rednet.close(side) | |
| 78 | elseif x == 2 and y == 12 or x == 10 and y == 15 or x > 2 and x < 10 and y > 12 and y < 15 then | |
| 79 | rednet.open(side) | |
| 80 | rednet.broadcast("turnleft")
| |
| 81 | rednet.close() | |
| 82 | elseif x == 16 and y == 12 or x == 24 and y == 15 or x > 16 and x < 24 and y > 12 and y < 15 then | |
| 83 | rednet.open(side) | |
| 84 | rednet.broadcast("turnright")
| |
| 85 | rednet.close() | |
| 86 | elseif x == 2 and y == 18 or x == 10 and y == 20 or x > 2 and x < 10 and y > 18 and y < 20 then | |
| 87 | rednet.open(side) | |
| 88 | rednet.broadcast("action")
| |
| 89 | rednet.close() | |
| 90 | elseif x == 16 and y == 18 or x == 24 and y == 20 or x > 16 and x < 24 and y > 18 and y < 20 then | |
| 91 | rednet.open(side) | |
| 92 | rednet.broadcast("quit")
| |
| 93 | rednet.close() | |
| 94 | Quit() | |
| 95 | end | |
| 96 | end | |
| 97 | end |