codenjoy-client 0.1.007 → 0.1.008
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|