File: robot.rb

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 (55 lines) | stat: -rw-r--r-- 1,001 bytes parent folder | download | duplicates (4)
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
class Robot
  laby_name_Void = 0
  laby_name_Wall = 1
  laby_name_Rock = 2
  laby_name_Web = 3
  laby_name_Exit = 4
  laby_name_Unknown = 5

  def initialize
    perform "start"
    laby_name_ant
  end

  def output s
    puts s
    $stdout.flush
  end

  def input
    l = gets rescue ""
    if l == "quit\n" then exit(1) end;
    l
  end

  def perform action
    output action
    input
  end

  def laby_name_look
    case perform('look')
    when "void\n"
      laby_name_Void
    when "wall\n"
      laby_name_Wall
    when "rock\n"
      laby_name_Rock
    when "web\n"
      laby_name_Web
    when "exit\n"
      laby_name_Exit
    else
      laby_name_Unknown
    end
  end

  def laby_name_left; perform 'left'; end
  def laby_name_right; perform 'right'; end
  def laby_name_forward; perform 'forward'; end
  def laby_name_take; perform 'take'; end
  def laby_name_drop; perform 'drop'; end
  def laby_name_escape; perform 'escape'; end

  def laby_name_say s; perform ('say ' + s) end
end