starx 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/starx +34 -51
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d4429a9a304a622e0c6eb4877e0093c01e35dcd
4
- data.tar.gz: 0759e56a7b4fdb1bab804d03ab054ded72845b12
3
+ metadata.gz: 4b2343a38acde7681f1c5eedc31111515a2274a5
4
+ data.tar.gz: 887129f3992db20f11c5e6158e61ff4a56bc8436
5
5
  SHA512:
6
- metadata.gz: f64d22914133461d841b136fe78204dcc7efae2cfdd61cc364e5c02852db3aeda9ccc1c5b29d36cfc8b1577badc766996935d06949a7dbbf56460598a607b564
7
- data.tar.gz: 8d2476c806be3e80fdc7e36fe61e11b7d520fb21d033506cf934c139c01065dde0923a92108945d6de21b71c2f2539e38f67a6c67bae4515da6f95731f640d35
6
+ metadata.gz: e0db518483b50e22c0d74a16ef3ab7b1593a38ca6d273f7f25cdfb027a9b98cc299d99fe9380b480b9d28f21d37c2e087bf8f379805fb57da25fd6f083fabb9e
7
+ data.tar.gz: 22556d3ba2615f581f465eadf9ffba404af027222a09431b8788ab4b88b58ffc56311550d217044739674a79e1be7588acc1cb6e81466cb5746543c16406da04
data/bin/starx CHANGED
@@ -38,13 +38,14 @@ class Starx
38
38
  position_array = position.split('.')
39
39
  y = position_array[0]
40
40
  x = position_array[1]
41
- if x != 0 && value == :full
42
- print "*"
43
- elsif x != 0 && value == :empty
44
- print " "
45
- elsif x != 0 && value == :player
46
- print "\e[31m>\e[0m"
47
- end
41
+ case value
42
+ when :full
43
+ print '*'
44
+ when :empty
45
+ print " "
46
+ when :player
47
+ print "\e[31m>\e[0m"
48
+ end
48
49
  end
49
50
  WIDTH.times {print '*'}
50
51
 
@@ -129,58 +130,41 @@ class Starx
129
130
  end
130
131
 
131
132
  def move_up!
132
- player_key = @cells.select {|_,v| v == :player}.keys[0].split('.')
133
- player_x = player_key[1]
134
- player_y = player_key[0].to_i
135
-
136
- cell_x = player_x
137
- cell_y = player_y - 1
138
- if cell_y < 10
139
- cell_y = "0#{cell_y}"
140
- else
141
- cell_y.to_s
142
- end
143
- player_y = player_key[0]
144
-
145
- player_new_key = "#{player_y}.#{player_x}"
146
- cell_key = "#{cell_y}.#{cell_x}"
147
-
148
- @cells.delete(player_new_key)
149
- @cells.delete(cell_key)
150
-
151
- @cells[player_new_key] = :empty
152
- @cells[cell_key] = :player
133
+ switch_player_with(1,0)
153
134
  end
154
135
 
155
136
  def move_down!
156
- player_key = @cells.select {|_,v| v == :player}.keys[0].split('.')
157
- player_x = player_key[1]
158
- player_y = player_key[0].to_i
159
-
160
- cell_x = player_x
161
- cell_y = player_y + 1
162
- if cell_y < 10
163
- cell_y = "0#{cell_y}"
164
- else
165
- cell_y.to_s
166
- end
167
- player_y = player_key[0]
137
+ switch_player_with(-1,0)
138
+ end
168
139
 
169
- player_new_key = "#{player_y}.#{player_x}"
170
- cell_key = "#{cell_y}.#{cell_x}"
140
+ def switch_player_with(y,x)
141
+ player_x = find_player[1].to_i
142
+ player_y = find_player[0].to_i
143
+ cell_x = player_x - x
144
+ cell_y = player_y - y
171
145
 
172
- @cells.delete(player_new_key)
173
- @cells.delete(cell_key)
146
+ player_x = "0#{player_x}" if player_x < 10
147
+ player_y = "0#{player_y}" if player_y < 10
148
+ cell_x = "0#{cell_x}" if cell_x < 10
149
+ cell_y = "0#{cell_y}" if cell_y < 10
174
150
 
175
- @cells[player_new_key] = :empty
176
- @cells[cell_key] = :player
177
- end
151
+ cell_key = "#{cell_y}.#{cell_x}"
152
+ player_key = "#{player_y}.#{player_x}"
153
+
154
+ @cells.delete(cell_key)
155
+ @cells.delete(player_key)
156
+ @cells[player_key] = :empty
157
+ @cells[cell_key] = :player
158
+ end
159
+
160
+ def find_player
161
+ @cells.select {|_,v| v == :player}.keys[0].split('.')
162
+ end
178
163
 
179
164
  def collision?
180
165
  collision = false
181
- player_position = @cells.select {|_,v| v == :player}.keys[0].split('.')
182
- player_x = player_position[1].to_i
183
- player_y = player_position[0]
166
+ player_x = find_player[1].to_i
167
+ player_y = find_player[0]
184
168
  cell_in_front_x = player_x + 1
185
169
  cell_in_front_x = "0#{cell_in_front_x}" if cell_in_front_x < 10
186
170
  cell_in_front = "#{player_y}.#{cell_in_front_x}"
@@ -284,7 +268,6 @@ class Starx
284
268
  end
285
269
  end
286
270
  end
287
- #
288
271
  end
289
272
 
290
273
  g = Starx.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: starx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justyna Rachowicz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-28 00:00:00.000000000 Z
11
+ date: 2015-03-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: justynarachowicz@gmail.com
@@ -28,17 +28,17 @@ require_paths:
28
28
  - lib
29
29
  required_ruby_version: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  required_rubygems_version: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - ">="
36
+ - - '>='
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  requirements: []
40
40
  rubyforge_project:
41
- rubygems_version: 2.4.5
41
+ rubygems_version: 2.4.6
42
42
  signing_key:
43
43
  specification_version: 4
44
44
  summary: Simple, terminal-based game written in ruby