File: robot.lua

package info (click to toggle)
laby 0.7.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 908 kB
  • sloc: ml: 3,823; xml: 133; sh: 115; pascal: 88; java: 70; perl: 69; php: 69; ansic: 68; javascript: 64; cpp: 59; makefile: 51; ruby: 48; python: 40; lisp: 32
file content (59 lines) | stat: -rw-r--r-- 1,087 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function output(s)
  io.write(s, "\n");
  io.flush();
end

function input()
    r = io.read();
    if (r == "quit") then exit(0) end;
    return r;
end

function laby_name_left()
  output("left"); input();
end

function laby_name_right()
  output("right"); input();
end

function laby_name_forward()
  output("forward"); input();
end

function laby_name_take()
  output("take"); input();
end

function laby_name_drop()
  output("drop"); input();
end

function laby_name_escape()
  output("escape"); input();
end

function laby_name_say(s)
  output("say " .. s); input();
end

laby_name_Void = 0;
laby_name_Wall = 1;
laby_name_Rock = 2;
laby_name_Web = 3;
laby_name_Exit = 4;
laby_name_Unknown = 5;

function laby_name_look()
  output("look");
  local ans = input();
  if (ans == "void") then return laby_name_Void end;
  if (ans == "wall") then return laby_name_Wall end;
  if (ans == "rock") then return laby_name_Rock end;
  if (ans == "web") then return laby_name_Web end;
  if (ans == "exit") then return laby_name_Exit end;
  return laby_name_Unknown;
end

output("start");
input()