gameboard 0.0.1 → 1.0.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: 22880570cd78d0f16f251da42baf2f3e39d372a0
4
- data.tar.gz: 89b807c57a5a7b319afc74fd092ddd9aa5935e04
3
+ metadata.gz: 8dbbd8a905ed5f8528404e93a83498d6be8eaea3
4
+ data.tar.gz: 925a66aae0b871942599014e2aaa481b862062ac
5
5
  SHA512:
6
- metadata.gz: bb9c7a5e2bbf9f6fd69b0894d5e61449b1a883974f54347e5cd361f2603031e135b66475a5f3e641415b678472fdf5138fcd0064f30abe8096505882afc620b8
7
- data.tar.gz: 27dd804335efda6e94edacbd259adae35f32a56b86322d6abfecb07ad9fbb680932234f32c46ca6010736edb2d87cab8cc75b6be5de735a86164d422bec6688c
6
+ metadata.gz: c2d8eb9e58fdc5c98d209fd0a90e59102d4220aabad514f1e66df0a8aaccc8901eae759805f76b68e3c09b7be28b0ca400af0302349257f3b955f8597c561021
7
+ data.tar.gz: 43f829454a434ceee81526511329faab49c770a447d223e35d0ffce1a358813002b28abb435273bb7b3579fb7bdc1461bf5791bb998dd9ba4547182cd12d0fef
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
2
  --require spec_helper
3
+ --format documentation
data/gameboard.gemspec CHANGED
@@ -38,4 +38,5 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency "pry", "~> 0.10"
39
39
  spec.add_development_dependency "pry-remote", "~> 0.1.8"
40
40
  spec.add_development_dependency "pry-nav", "~> 0.2.4"
41
+ spec.add_development_dependency "bump"
41
42
  end
@@ -3,17 +3,16 @@ module Gameboard
3
3
  class Board
4
4
  attr_reader :cells, :height, :width, :board
5
5
 
6
- def initialize(height:false, width: false, cells: false)
7
- raise ArgumentError unless (height.is_a?(Integer) && width.is_a?(Integer))
6
+ def initialize(height:false, width: false, cells: false, preset: false)
7
+ raise ArgumentError unless ((height.is_a?(Integer) && width.is_a?(Integer)) || !!preset)
8
8
  @height = height
9
9
  @width = width
10
10
  @cells = cells || nil
11
- new_board
11
+ preset ? load_game(preset) : new_board
12
12
  end
13
13
 
14
14
  def new_board
15
15
  @board = []
16
- i = 0
17
16
  width.times do |x|
18
17
  height.times do |y|
19
18
  @board << Cell.new(Coordinate.new(x,y), value: @cells)
@@ -21,7 +20,20 @@ module Gameboard
21
20
  end
22
21
  end
23
22
 
24
-
23
+ def load_game(saved_game)
24
+ @board = []
25
+ saved_game.reverse!
26
+ saved_game.transpose.each_with_index do |row, x|
27
+ row.each.each_with_index do |cell, y|
28
+ @board << Cell.new(Coordinate.new(x,y), value: cell)
29
+ end
30
+ end
31
+ end
32
+
33
+ def find_cell(coord)
34
+ @board.find {|cell|
35
+ cell.coord.position == coord}
36
+ end
25
37
 
26
38
  end
27
39
  end
@@ -2,10 +2,11 @@ require_relative './coordinate'
2
2
  module Gameboard
3
3
  class Cell
4
4
  attr_accessor :value
5
- attr_reader :coordinates
5
+ attr_reader :coord
6
6
  def initialize(coord, value: false)
7
7
  raise TypeError unless coord.is_a?(Coordinate)
8
8
  @value = value
9
+ @coord = coord
9
10
  end
10
11
  end
11
12
  end
@@ -1,3 +1,3 @@
1
1
  module Gameboard
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.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: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampson Crowley
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.2.4
139
+ - !ruby/object:Gem::Dependency
140
+ name: bump
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  description: A clean functional gameboard for CLI games in ruby, that will return
140
154
  and place pieces based on a coordinate system
141
155
  email: