SHOW:
|
|
- or go back to the newest paste.
| 1 | -- ############################## | |
| 2 | - | -- msg_sender test4 |
| 2 | + | -- msg_sender |
| 3 | -- version 0.5 | |
| 4 | -- http://hevohevo.hatenablog.com/ | |
| 5 | ||
| 6 | rednet.open("right")
| |
| 7 | ||
| 8 | local args = {...}
| |
| 9 | assert(args and #args>0, "msg_sender <receiver_id>") | |
| 10 | local receiver_id = tonumber(args[1]) | |
| 11 | ||
| 12 | local trans_tbl = {
| |
| 13 | - | a="turtle.turnLeft() turtle.forward() turtle.turnRight()", |
| 13 | + | |
| 14 | a="turtle.turnLeft(); turtle.forward(); turtle.turnRight()", | |
| 15 | - | d="turtle.turnRight() turtle.forward() turtle.turnLeft()", |
| 15 | + | |
| 16 | d="turtle.turnRight(); turtle.forward(); turtle.turnLeft()", | |
| 17 | space="turtle.up()", | |
| 18 | leftShift="turtle.down()", | |
| 19 | left="turtle.turnRight()", | |
| 20 | right="turtle.turnLeft()", | |
| 21 | z="shell.run('dance')", -- let's dance!
| |
| 22 | x="shell.run('boring')", -- run receiver's other program
| |
| 23 | c="hevo()" -- call receiver's function | |
| 24 | } | |
| 25 | ||
| 26 | print("Press 'q' to terminate")
| |
| 27 | while true do | |
| 28 | local event, scancode = os.pullEvent("key")
| |
| 29 | local keyname = keys.getName(scancode) | |
| 30 | - | if keyname == "q" then break end |
| 30 | + | |
| 31 | if keyname == "enter" and not message then | |
| 32 | print(" Start: interactive mode ('q' to terminate)")
| |
| 33 | write(" > ")
| |
| 34 | message = io.read() | |
| 35 | print(" Finish: interactive mode")
| |
| 36 | end | |
| 37 | if keyname == "q" or message == "q" then break end | |
| 38 | print(keyname," => ",message or "none") | |
| 39 | ||
| 40 | if message then | |
| 41 | rednet.send(receiver_id, message) | |
| 42 | end | |
| 43 | end | |
| 44 | print("Terminated") |