Class: Codenjoy::Client::Games::Snakebattle::Board
- Defined in:
- lib/codenjoy/games/snakebattle/board.rb
Constant Summary collapse
- ELEMENTS =
{ NONE: ' ', # пустое место WALL: '☼', # а это стенка START_FLOOR: '#', # место старта змей OTHER: '?', # этого ты никогда не увидишь :) APPLE: '○', # яблоки надо кушать от них становишься длинее STONE: '●', # а это кушать не стоит - от этого укорачиваешься FLYING_PILL: '©', # таблетка полета - дает суперсилы FURY_PILL: '®', # таблетка ярости - дает суперсилы GOLD: '$', # золото - просто очки # голова твоей змеи в разных состояниях и напрвлениях HEAD_DOWN: '▼', HEAD_LEFT: '◄', HEAD_RIGHT: '►', HEAD_UP: '▲', HEAD_DEAD: '☻', # этот раунд ты проиграл HEAD_EVIL: '♥', # ты скушал таблетку ярости HEAD_FLY: '♠', # ты скушал таблетку полета HEAD_SLEEP: '&', # твоя змейка ожидает начала раунда # хвост твоей змейки TAIL_END_DOWN: '╙', TAIL_END_LEFT: '╘', TAIL_END_UP: '╓', TAIL_END_RIGHT: '╕', TAIL_INACTIVE: '~', # туловище твоей змейки BODY_HORIZONTAL: '═', BODY_VERTICAL: '║', BODY_LEFT_DOWN: '╗', BODY_LEFT_UP: '╝', BODY_RIGHT_DOWN: '╔', BODY_RIGHT_UP: '╚', # змейки противников ENEMY_HEAD_DOWN: '˅', ENEMY_HEAD_LEFT: '<', ENEMY_HEAD_RIGHT: '>', ENEMY_HEAD_UP: '˄', ENEMY_HEAD_DEAD: '☺', # этот раунд противник проиграл ENEMY_HEAD_EVIL: '♣', # противник скушал таблетку ярости ENEMY_HEAD_FLY: '♦', # противник скушал таблетку полета ENEMY_HEAD_SLEEP: 'ø', # змейка противника ожидает начала раунда # хвосты змеек противников ENEMY_TAIL_END_DOWN: '¤', ENEMY_TAIL_END_LEFT: '×', ENEMY_TAIL_END_UP: 'æ', ENEMY_TAIL_END_RIGHT: 'ö', ENEMY_TAIL_INACTIVE: '*', # туловище змеек противников ENEMY_BODY_HORIZONTAL: '─', ENEMY_BODY_VERTICAL: '│', ENEMY_BODY_LEFT_DOWN: '┐', ENEMY_BODY_LEFT_UP: '┘', ENEMY_BODY_RIGHT_DOWN: '┌', ENEMY_BODY_RIGHT_UP: '└' }
- HEAD =
[ :HEAD_DOWN, :HEAD_LEFT, :HEAD_RIGHT, :HEAD_UP, :HEAD_DEAD, :HEAD_EVIL, :HEAD_FLY, :HEAD_SLEEP ]
- BODY =
[ :TAIL_END_DOWN, :TAIL_END_LEFT, :TAIL_END_UP, :TAIL_END_RIGHT, :TAIL_INACTIVE, :BODY_HORIZONTAL, :BODY_VERTICAL, :BODY_LEFT_DOWN, :BODY_LEFT_UP, :BODY_RIGHT_DOWN, :BODY_RIGHT_UP ]
- ENEMY =
[ :ENEMY_HEAD_DOWN, :ENEMY_HEAD_LEFT, :ENEMY_HEAD_RIGHT, :ENEMY_HEAD_UP, :ENEMY_HEAD_DEAD, :ENEMY_HEAD_EVIL, :ENEMY_HEAD_FLY, :ENEMY_HEAD_SLEEP, :ENEMY_TAIL_END_DOWN, :ENEMY_TAIL_END_LEFT, :ENEMY_TAIL_END_UP, :ENEMY_TAIL_END_RIGHT, :ENEMY_TAIL_INACTIVE, :ENEMY_BODY_HORIZONTAL, :ENEMY_BODY_VERTICAL, :ENEMY_BODY_LEFT_DOWN, :ENEMY_BODY_LEFT_UP, :ENEMY_BODY_RIGHT_DOWN, :ENEMY_BODY_RIGHT_UP, ]
Instance Method Summary collapse
- #get_apple ⇒ Object
- #get_enemy ⇒ Object
- #get_my_body ⇒ Object
- #get_my_head ⇒ Object
- #get_stone ⇒ Object
- #get_walls ⇒ Object
- #process(str) ⇒ Object
- #to_s ⇒ Object
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
#get_apple ⇒ Object
138 139 140 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 138 def get_apple find_by_list([ELEMENTS[:APPLE]]) end |
#get_enemy ⇒ Object
146 147 148 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 146 def get_enemy find_by_list(ENEMY.map{ |e| ELEMENTS[e] }) end |
#get_my_body ⇒ Object
134 135 136 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 134 def get_my_body find_by_list((HEAD + BODY).map{ |e| ELEMENTS[e] }) end |
#get_my_head ⇒ Object
130 131 132 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 130 def get_my_head find_by_list(HEAD.map{ |e| ELEMENTS[e] }) end |
#get_stone ⇒ Object
142 143 144 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 142 def get_stone find_by_list([ELEMENTS[:STONE]]) end |
#get_walls ⇒ Object
150 151 152 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 150 def get_walls find_by_list([ELEMENTS[:WALL]]) end |
#process(str) ⇒ Object
126 127 128 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 126 def process(str) @raw = str end |
#to_s ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/codenjoy/games/snakebattle/board.rb', line 154 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}", "Enemy at: #{get_enemy}" ].join("\n") end |