Class: Codenjoy::Client::Games::Snake::Board
Constant Summary
collapse
- ELEMENTS =
{
BAD_APPLE: '☻',
GOOD_APPLE: '☺',
BREAK: '☼',
HEAD_DOWN: '▼',
HEAD_LEFT: '◄',
HEAD_RIGHT: '►',
HEAD_UP: '▲',
TAIL_END_DOWN: '╙',
TAIL_END_LEFT: '╘',
TAIL_END_UP: '╓',
TAIL_END_RIGHT: '╕',
TAIL_HORIZONTAL: '═',
TAIL_VERTICAL: '║',
TAIL_LEFT_DOWN: '╗',
TAIL_LEFT_UP: '╝',
TAIL_RIGHT_DOWN: '╔',
TAIL_RIGHT_UP: '╚',
NONE: ' '
}
Instance Method Summary
collapse
Methods inherited from BaseBoard
#any_of_at?, #at?, #board_to_s, #count_near, #find_all, #find_by_list, #get_at, #near?, #size, #xyl
Instance Method Details
#barrier_at?(x, y) ⇒ Boolean
74
75
76
77
|
# File 'lib/codenjoy/games/snake/board.rb', line 74
def barrier_at?(x, y)
return false if Point.new(x, y).out_of?(size)
get_barriers.include?([x.to_f, y.to_f]);
end
|
#get_apple ⇒ Object
58
59
60
|
# File 'lib/codenjoy/games/snake/board.rb', line 58
def get_apple
find_by_list([ELEMENTS[:GOOD_APPLE]])
end
|
#get_barriers ⇒ Object
70
71
72
|
# File 'lib/codenjoy/games/snake/board.rb', line 70
def get_barriers
find_by_list([ELEMENTS[:BREAK], ELEMENTS[:BAD_APPLE]])
end
|
#get_my_body ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'lib/codenjoy/games/snake/board.rb', line 49
def get_my_body
find_by_list([
:HEAD_DOWN, :HEAD_LEFT, :HEAD_RIGHT, :HEAD_UP,
:TAIL_END_DOWN, :TAIL_END_LEFT, :TAIL_END_UP,
:TAIL_END_RIGHT, :TAIL_HORIZONTAL, :TAIL_VERTICAL,
:TAIL_LEFT_DOWN, :TAIL_LEFT_UP, :TAIL_RIGHT_DOWN, :TAIL_RIGHT_UP
].map{ |e| ELEMENTS[e] })
end
|
#get_my_head ⇒ Object
45
46
47
|
# File 'lib/codenjoy/games/snake/board.rb', line 45
def get_my_head
find_by_list([:HEAD_DOWN, :HEAD_UP, :HEAD_RIGHT, :HEAD_LEFT].map{ |e| ELEMENTS[e] })
end
|
#get_stone ⇒ Object
62
63
64
|
# File 'lib/codenjoy/games/snake/board.rb', line 62
def get_stone
find_by_list([ELEMENTS[:BAD_APPLE]])
end
|
#get_walls ⇒ Object
66
67
68
|
# File 'lib/codenjoy/games/snake/board.rb', line 66
def get_walls
find_by_list([ELEMENTS[:BREAK]])
end
|
#process(str) ⇒ Object
39
40
41
42
43
|
# File 'lib/codenjoy/games/snake/board.rb', line 39
def process(str)
puts "-------------------------------------------------------------------------------------------"
puts str
@raw = str
end
|
#to_s ⇒ Object
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/codenjoy/games/snake/board.rb', line 79
def to_s
[
"Board:",
board_to_s,
"My head at: #{get_my_head}",
"My body at: #{get_my_body}",
"Apple at: #{get_apple}",
"Stone at: #{get_stone}"
].join("\n")
end
|