View difference between Paste ID: mV08nRTx and n1LPLrij
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")