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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4294e66ffc1a27e53301dd0f5e35988cdb569a6f6302251221d40bdcdbb2095
4
- data.tar.gz: d0764a9de7c1fae7fcd4aa6c60a53a18cd919a6f92fd87edebc8b91e642193c9
3
+ metadata.gz: 4b6fe4996900ad7ccb3c34c4071e5c4ac9ead56ab8adcf6e7938d631e0a5025a
4
+ data.tar.gz: bbf21d770fa45f7ca5b6940ea2cd9811a4a5657337dd9b07e28b9784885b904a
5
5
  SHA512:
6
- metadata.gz: 3f236bd121dfe6c3b75411f39e665a71ff0ab6bad931e480958bd01122913829220bbc4008e5b2b08b7e302e28223152b09a0f2d36a758828992a799d88477d2
7
- data.tar.gz: 5d009ade6891ac661abc53e086318106e1c28b0ac92f670408cd4d03eea336563e19a6cbf5dbba24bc993073313067e8b611f723265f94e8c6cdfa85c61743af
6
+ metadata.gz: d3ec8bc8879bf76efea2c85b48f53d5b176c5d2de0b3cf26e94aafd2ad19cdb11c4068b074b95da7578eed7acc93675a0c88788aa7ccc4d03f7e939bd7d5c0f5
7
+ data.tar.gz: 0f686f4963086353f4b2e8e2733c9ed6a3d56b7dc66920444997d9815e108f11b8d1d6f26fce755021d707a4d9446ce9811fd0dd053240f32bf906748e63ef2d
@@ -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
-
@@ -1,5 +1,5 @@
1
1
  module Codenjoy
2
2
  module Client
3
- VERSION = "0.1.007"
3
+ VERSION = "0.1.008"
4
4
  end
5
5
  end
@@ -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.007
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-16 00:00:00.000000000 Z
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