codenjoy-client 0.1.007 → 0.1.008
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/codenjoy-ruby-client +2 -4
- data/lib/codenjoy/client/version.rb +1 -1
- data/lib/codenjoy/games/minesweeper/board.rb +59 -0
- data/lib/codenjoy/games/snakebattle/board.rb +165 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b6fe4996900ad7ccb3c34c4071e5c4ac9ead56ab8adcf6e7938d631e0a5025a
|
4
|
+
data.tar.gz: bbf21d770fa45f7ca5b6940ea2cd9811a4a5657337dd9b07e28b9784885b904a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3ec8bc8879bf76efea2c85b48f53d5b176c5d2de0b3cf26e94aafd2ad19cdb11c4068b074b95da7578eed7acc93675a0c88788aa7ccc4d03f7e939bd7d5c0f5
|
7
|
+
data.tar.gz: 0f686f4963086353f4b2e8e2733c9ed6a3d56b7dc66920444997d9815e108f11b8d1d6f26fce755021d707a4d9446ce9811fd0dd053240f32bf906748e63ef2d
|
data/exe/codenjoy-ruby-client
CHANGED
@@ -8,12 +8,11 @@ sourse = "#{game.source_path}/game_base_client.rb"
|
|
8
8
|
dest = "#{Dir.pwd}/game_base_client.rb"
|
9
9
|
|
10
10
|
puts "codenjoy-ruby-client util for develop ruby client for https://dojorena.io/"
|
11
|
+
puts "--game flag if you are learning with codenjoy"
|
11
12
|
puts "--game common cases"
|
13
|
+
puts "Use --dev flag if you are developing codenjoy"
|
12
14
|
puts "--dev for dev mode"
|
13
15
|
|
14
|
-
# def add_dev_line
|
15
|
-
# end
|
16
|
-
|
17
16
|
if ['--dev', '--game'].include?(ARGV[0])
|
18
17
|
p "#{sourse} ==> #{dest}"
|
19
18
|
if File.exist?(dest)
|
@@ -26,4 +25,3 @@ if ['--dev', '--game'].include?(ARGV[0])
|
|
26
25
|
end
|
27
26
|
end
|
28
27
|
end
|
29
|
-
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require "codenjoy/utils"
|
2
|
+
require "codenjoy/base_board"
|
3
|
+
|
4
|
+
module Codenjoy
|
5
|
+
module Client
|
6
|
+
module Games
|
7
|
+
module Minesweeper
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class Codenjoy::Client::Games::Minesweeper::Board < BaseBoard
|
14
|
+
ELEMENTS = {
|
15
|
+
BANG: 'Ѡ',
|
16
|
+
HERE_IS_BOMB: '☻',
|
17
|
+
DETECTOR: '☺',
|
18
|
+
FLAG: '‼',
|
19
|
+
HIDDEN: '*',
|
20
|
+
|
21
|
+
ONE_MINE: '1',
|
22
|
+
TWO_MINES: '2',
|
23
|
+
THREE_MINES: '3',
|
24
|
+
FOUR_MINES: '4',
|
25
|
+
FIVE_MINES: '5',
|
26
|
+
SIX_MINES: '6',
|
27
|
+
SEVEN_MINES: '7',
|
28
|
+
EIGHT_MINES: '8',
|
29
|
+
|
30
|
+
BORDER: '☼',
|
31
|
+
NONE:' ',
|
32
|
+
DESTROYED_BOMB: 'x'
|
33
|
+
}
|
34
|
+
|
35
|
+
def process(str)
|
36
|
+
puts "-------------------------------------------------------------------------------------------"
|
37
|
+
puts str
|
38
|
+
@raw = str
|
39
|
+
end
|
40
|
+
|
41
|
+
def get_me
|
42
|
+
find_by_list([:DETECTOR].map{ |e| ELEMENTS[e] })
|
43
|
+
end
|
44
|
+
|
45
|
+
def get_boarders
|
46
|
+
find_by_list([:BORDER].map{ |e| ELEMENTS[e] })
|
47
|
+
end
|
48
|
+
|
49
|
+
def flag_cell(direction)
|
50
|
+
"FLAG, #{direction}"
|
51
|
+
end
|
52
|
+
|
53
|
+
def to_s
|
54
|
+
[
|
55
|
+
"Board:",
|
56
|
+
board_to_s
|
57
|
+
].join("\n")
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
require "codenjoy/utils"
|
2
|
+
require "codenjoy/base_board"
|
3
|
+
|
4
|
+
module Codenjoy
|
5
|
+
module Client
|
6
|
+
module Games
|
7
|
+
module Snakebattle
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class Codenjoy::Client::Games::Snakebattle::Board < BaseBoard
|
14
|
+
ELEMENTS = {
|
15
|
+
NONE: ' ', # пустое место
|
16
|
+
WALL: '☼', # а это стенка
|
17
|
+
START_FLOOR: '#', # место старта змей
|
18
|
+
OTHER: '?', # этого ты никогда не увидишь :)
|
19
|
+
|
20
|
+
APPLE: '○', # яблоки надо кушать от них становишься длинее
|
21
|
+
STONE: '●', # а это кушать не стоит - от этого укорачиваешься
|
22
|
+
FLYING_PILL: '©', # таблетка полета - дает суперсилы
|
23
|
+
FURY_PILL: '®', # таблетка ярости - дает суперсилы
|
24
|
+
GOLD: '$', # золото - просто очки
|
25
|
+
|
26
|
+
# голова твоей змеи в разных состояниях и напрвлениях
|
27
|
+
HEAD_DOWN: '▼',
|
28
|
+
HEAD_LEFT: '◄',
|
29
|
+
HEAD_RIGHT: '►',
|
30
|
+
HEAD_UP: '▲',
|
31
|
+
HEAD_DEAD: '☻', # этот раунд ты проиграл
|
32
|
+
HEAD_EVIL: '♥', # ты скушал таблетку ярости
|
33
|
+
HEAD_FLY: '♠', # ты скушал таблетку полета
|
34
|
+
HEAD_SLEEP: '&', # твоя змейка ожидает начала раунда
|
35
|
+
|
36
|
+
# хвост твоей змейки
|
37
|
+
TAIL_END_DOWN: '╙',
|
38
|
+
TAIL_END_LEFT: '╘',
|
39
|
+
TAIL_END_UP: '╓',
|
40
|
+
TAIL_END_RIGHT: '╕',
|
41
|
+
TAIL_INACTIVE: '~',
|
42
|
+
|
43
|
+
# туловище твоей змейки
|
44
|
+
BODY_HORIZONTAL: '═',
|
45
|
+
BODY_VERTICAL: '║',
|
46
|
+
BODY_LEFT_DOWN: '╗',
|
47
|
+
BODY_LEFT_UP: '╝',
|
48
|
+
BODY_RIGHT_DOWN: '╔',
|
49
|
+
BODY_RIGHT_UP: '╚',
|
50
|
+
|
51
|
+
# змейки противников
|
52
|
+
ENEMY_HEAD_DOWN: '˅',
|
53
|
+
ENEMY_HEAD_LEFT: '<',
|
54
|
+
ENEMY_HEAD_RIGHT: '>',
|
55
|
+
ENEMY_HEAD_UP: '˄',
|
56
|
+
ENEMY_HEAD_DEAD: '☺', # этот раунд противник проиграл
|
57
|
+
ENEMY_HEAD_EVIL: '♣', # противник скушал таблетку ярости
|
58
|
+
ENEMY_HEAD_FLY: '♦', # противник скушал таблетку полета
|
59
|
+
ENEMY_HEAD_SLEEP: 'ø', # змейка противника ожидает начала раунда
|
60
|
+
|
61
|
+
# хвосты змеек противников
|
62
|
+
ENEMY_TAIL_END_DOWN: '¤',
|
63
|
+
ENEMY_TAIL_END_LEFT: '×',
|
64
|
+
ENEMY_TAIL_END_UP: 'æ',
|
65
|
+
ENEMY_TAIL_END_RIGHT: 'ö',
|
66
|
+
ENEMY_TAIL_INACTIVE: '*',
|
67
|
+
|
68
|
+
# туловище змеек противников
|
69
|
+
ENEMY_BODY_HORIZONTAL: '─',
|
70
|
+
ENEMY_BODY_VERTICAL: '│',
|
71
|
+
ENEMY_BODY_LEFT_DOWN: '┐',
|
72
|
+
ENEMY_BODY_LEFT_UP: '┘',
|
73
|
+
ENEMY_BODY_RIGHT_DOWN: '┌',
|
74
|
+
ENEMY_BODY_RIGHT_UP: '└'
|
75
|
+
}
|
76
|
+
|
77
|
+
HEAD = [
|
78
|
+
:HEAD_DOWN,
|
79
|
+
:HEAD_LEFT,
|
80
|
+
:HEAD_RIGHT,
|
81
|
+
:HEAD_UP,
|
82
|
+
:HEAD_DEAD,
|
83
|
+
:HEAD_EVIL,
|
84
|
+
:HEAD_FLY,
|
85
|
+
:HEAD_SLEEP
|
86
|
+
]
|
87
|
+
|
88
|
+
BODY = [
|
89
|
+
:TAIL_END_DOWN,
|
90
|
+
:TAIL_END_LEFT,
|
91
|
+
:TAIL_END_UP,
|
92
|
+
:TAIL_END_RIGHT,
|
93
|
+
:TAIL_INACTIVE,
|
94
|
+
:BODY_HORIZONTAL,
|
95
|
+
:BODY_VERTICAL,
|
96
|
+
:BODY_LEFT_DOWN,
|
97
|
+
:BODY_LEFT_UP,
|
98
|
+
:BODY_RIGHT_DOWN,
|
99
|
+
:BODY_RIGHT_UP
|
100
|
+
]
|
101
|
+
|
102
|
+
ENEMY = [
|
103
|
+
:ENEMY_HEAD_DOWN,
|
104
|
+
:ENEMY_HEAD_LEFT,
|
105
|
+
:ENEMY_HEAD_RIGHT,
|
106
|
+
:ENEMY_HEAD_UP,
|
107
|
+
:ENEMY_HEAD_DEAD,
|
108
|
+
:ENEMY_HEAD_EVIL,
|
109
|
+
:ENEMY_HEAD_FLY,
|
110
|
+
:ENEMY_HEAD_SLEEP,
|
111
|
+
|
112
|
+
:ENEMY_TAIL_END_DOWN,
|
113
|
+
:ENEMY_TAIL_END_LEFT,
|
114
|
+
:ENEMY_TAIL_END_UP,
|
115
|
+
:ENEMY_TAIL_END_RIGHT,
|
116
|
+
:ENEMY_TAIL_INACTIVE,
|
117
|
+
|
118
|
+
:ENEMY_BODY_HORIZONTAL,
|
119
|
+
:ENEMY_BODY_VERTICAL,
|
120
|
+
:ENEMY_BODY_LEFT_DOWN,
|
121
|
+
:ENEMY_BODY_LEFT_UP,
|
122
|
+
:ENEMY_BODY_RIGHT_DOWN,
|
123
|
+
:ENEMY_BODY_RIGHT_UP,
|
124
|
+
]
|
125
|
+
|
126
|
+
def process(str)
|
127
|
+
@raw = str
|
128
|
+
end
|
129
|
+
|
130
|
+
def get_my_head
|
131
|
+
find_by_list(HEAD.map{ |e| ELEMENTS[e] })
|
132
|
+
end
|
133
|
+
|
134
|
+
def get_my_body
|
135
|
+
find_by_list((HEAD + BODY).map{ |e| ELEMENTS[e] })
|
136
|
+
end
|
137
|
+
|
138
|
+
def get_apple
|
139
|
+
find_by_list([ELEMENTS[:APPLE]])
|
140
|
+
end
|
141
|
+
|
142
|
+
def get_stone
|
143
|
+
find_by_list([ELEMENTS[:STONE]])
|
144
|
+
end
|
145
|
+
|
146
|
+
def get_enemy
|
147
|
+
find_by_list(ENEMY.map{ |e| ELEMENTS[e] })
|
148
|
+
end
|
149
|
+
|
150
|
+
def get_walls
|
151
|
+
find_by_list([ELEMENTS[:WALL]])
|
152
|
+
end
|
153
|
+
|
154
|
+
def to_s
|
155
|
+
[
|
156
|
+
"Board:",
|
157
|
+
board_to_s,
|
158
|
+
"My head at: #{get_my_head}",
|
159
|
+
"My body at: #{get_my_body}",
|
160
|
+
"Apple at: #{get_apple}",
|
161
|
+
"Stone at: #{get_stone}",
|
162
|
+
"Enemy at: #{get_enemy}"
|
163
|
+
].join("\n")
|
164
|
+
end
|
165
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codenjoy-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.008
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vgulaev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faye-websocket
|
@@ -65,7 +65,9 @@ files:
|
|
65
65
|
- lib/codenjoy/games/battlecity/board.rb
|
66
66
|
- lib/codenjoy/games/icancode/board.rb
|
67
67
|
- lib/codenjoy/games/loderunner/board.rb
|
68
|
+
- lib/codenjoy/games/minesweeper/board.rb
|
68
69
|
- lib/codenjoy/games/snake/board.rb
|
70
|
+
- lib/codenjoy/games/snakebattle/board.rb
|
69
71
|
- lib/codenjoy/games/tetris/board.rb
|
70
72
|
- lib/codenjoy/utils.rb
|
71
73
|
homepage: https://github.com/vgulaev/codenjoy-client
|