gameboard 1.0.1 → 1.1.0

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
  SHA1:
3
- metadata.gz: f71f22beb78690ba9eff2e7f9c2f8170c93bc3fa
4
- data.tar.gz: a8e19cb17c273ea4b28794993c4bb88d081d7e85
3
+ metadata.gz: 20d26deb08d61a42eb83cfa3a26f55c0c879926a
4
+ data.tar.gz: 5aea778474abd40447b8b858429c058e125b59a4
5
5
  SHA512:
6
- metadata.gz: bc6c62e05062cf35c864dcf3610ac7a8d67be6aa62902babedf3d9d33b45000a5644c65d790fcbb8d69f68f3cff92ec069fbd29ee4dee8c4505ac22f1dbd7148
7
- data.tar.gz: 9a905fad801933cd02728180de4948e407e189697c3b805dd9cb02126cb40ad0b28e3a9e53bb2a4d4a99be5f8892fb3bb8c2df4908cdab7041bed89dfc9627ea
6
+ metadata.gz: b6d249421f0f528db58637fcee1f9d96e2f790e8ad97bc1cdf7107d8a851845a3787ed3c13dc4fff2632fbd76e54bad726aeb36864b855f12e9b8851768b3f56
7
+ data.tar.gz: a59ade6b5717365f5fe0ea611e3fdab700863e1d7e939e02e46560622b41205499312708228929936d394258e7d00cbe44e7d4a393a9d222a76e2e7f48993f00
@@ -1,7 +1,7 @@
1
1
  require_relative './cell'
2
2
  module Gameboard
3
3
  class Board
4
- attr_reader :cells, :height, :width, :board
4
+ attr_reader :height, :width, :board
5
5
 
6
6
  def initialize(height:false, width: false, cells: false, preset: false)
7
7
  raise ArgumentError unless ((height.is_a?(Integer) && width.is_a?(Integer)) || !!preset)
@@ -15,7 +15,7 @@ module Gameboard
15
15
  @board = []
16
16
  width.times do |x|
17
17
  height.times do |y|
18
- @board << Cell.new(Coordinate.new(x,y), value: @cells)
18
+ @board << Cell.new(Coordinate.new(x,y), value: cells)
19
19
  end
20
20
  end
21
21
  end
@@ -37,5 +37,32 @@ module Gameboard
37
37
  cell.coord.position == coord}
38
38
  end
39
39
 
40
+ def horizontal(coords = false)
41
+ columns = []
42
+ height.times do |y|
43
+ columns << board.select { |cell| cell.coord.y == y }.map do |cell|
44
+ coords ? cell.coord.position : cell.value
45
+ end
46
+ end
47
+ columns
48
+ end
49
+
50
+ def vertical(coords = false)
51
+ columns = []
52
+ width.times do |x|
53
+ columns << board.select { |cell| cell.coord.x == x }.map do |cell|
54
+ coords ? cell.coord.position : cell.value
55
+ end
56
+ end
57
+ columns
58
+ end
59
+
60
+ def full?
61
+ @board.none? { |cell| cell.value == cells }
62
+ end
63
+
64
+ private
65
+ attr_reader :cells
66
+
40
67
  end
41
68
  end
@@ -1,3 +1,3 @@
1
1
  module Gameboard
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gameboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampson Crowley