just_checkers 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e631bf4123ccf99a1c93a0e06eb3b8a46c79682
4
- data.tar.gz: 6c872f95204b1afa6912fac02c34141466efedc2
3
+ metadata.gz: 9f9a84872947e5dddb0826c13edd669786b581fe
4
+ data.tar.gz: 34a9dbadce0fc0b47e8d564fbb0888a342ae093c
5
5
  SHA512:
6
- metadata.gz: 8e7c12394334a4765f76de167165038745e22f6ed64c82c78818ac1a6abadc583613572ed427906e36076c5dbb21a560229952cecf15bab6442b3e6faf8e0bbb
7
- data.tar.gz: 8e723f660f4a4c72b922262265de30a470012a0f8ce81b8458c9b6f995e1d78c5b9252a923b6c5ebedc569d8c3b84178944b2c21f94cb31fba83764fb9960471
6
+ metadata.gz: fd608fe24b0e129f86a580c24902340b6119da7962aafcec9f75cae7b55b72b6f628284823e4f9cfe068d143e7dc9bd4115cf16f50f14c80bf9c1c2a3099b9ae
7
+ data.tar.gz: d252d1405ea6fca132d01d379a0ad5ecafe34a3549a97d03b2dcbb6c7ca74fb170d4619895aa80868b664c202840666b6acd7e9471534694a9c5b44b4f3499dd
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.required_ruby_version = '~> 2.0'
22
+ spec.required_ruby_version = '~> 2.1'
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.11"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
@@ -26,18 +26,18 @@ module JustCheckers
26
26
  # { x: 1, y: 0, piece: { player_number: 1, direction: 1, king: false }}
27
27
  # ]
28
28
  # })
29
- def initialize(args = {})
30
- @current_player_number = args[:current_player_number]
31
- @squares = SquareSet.new(squares: args[:squares] || [])
29
+ def initialize(current_player_number: , squares: [])
30
+ @current_player_number = current_player_number
31
+ @squares = SquareSet.new(squares: squares)
32
32
  @messages = []
33
33
  end
34
-
34
+
35
35
  # @return [Fixnum] who's turn it is.
36
36
  attr_reader :current_player_number
37
-
37
+
38
38
  # @return [Array<Square>] the board state.
39
39
  attr_reader :squares
40
-
40
+
41
41
  # @return [Array<String>] useful messages if any.
42
42
  attr_reader :messages
43
43
 
@@ -95,14 +95,10 @@ module JustCheckers
95
95
  #
96
96
  # @return [Hash]
97
97
  def as_json
98
- { current_player_number: current_player_number, squares: squares.as_json, winner: winner }
99
- end
100
-
101
- # Returns the json serialized representation of the game state.
102
- #
103
- # @return String
104
- def to_json
105
- as_json.to_json
98
+ {
99
+ current_player_number: current_player_number,
100
+ squares: squares.as_json
101
+ }
106
102
  end
107
103
 
108
104
  # The player number of the winner. It returns nil if there is no winner.
@@ -25,21 +25,21 @@ module JustCheckers
25
25
  # direction: 1,
26
26
  # king: false
27
27
  # })
28
- def initialize(args = {})
29
- @player_number = args[:player_number]
30
- @direction = args[:direction]
31
- @king = args[:king]
28
+ def initialize(player_number: , direction: , king: false)
29
+ @player_number = player_number
30
+ @direction = direction
31
+ @king = king
32
32
  end
33
33
 
34
34
  # @return [Fixnum] the owner of the piece.
35
35
  attr_reader :player_number
36
-
36
+
37
37
  # @return [Fixnum] the direction forward on the board, 1 for moving down, -1 for moving up.
38
38
  attr_reader :direction
39
-
39
+
40
40
  # @return [Boolean] set to true if the piece has been crowned.
41
41
  attr_reader :king
42
-
42
+
43
43
  alias_method :king?, :king
44
44
 
45
45
  # promotes the piece by setting the +king+ attribute to true.
@@ -29,22 +29,22 @@ module JustCheckers
29
29
  # y: 0,
30
30
  # piece: { player_number: 1, direction: 1, king: false }
31
31
  # })
32
- def initialize(args = {})
33
- @x = args[:x]
34
- @y = args[:y]
35
- if args[:piece].is_a?(Hash)
36
- @piece = Piece.new(args[:piece])
32
+ def initialize(x: , y: , piece: nil)
33
+ @x = x
34
+ @y = y
35
+ @piece = if piece.is_a?(Hash)
36
+ Piece.new(piece)
37
37
  else
38
- @piece = args[:piece]
38
+ piece
39
39
  end
40
40
  end
41
41
 
42
42
  # @return [Fixnum] the x co-ordinate of the square.
43
- attr_reader :x
44
-
43
+ attr_reader :x
44
+
45
45
  # @return [Fixnum] the y co-ordinate of the square.
46
46
  attr_reader :y
47
-
47
+
48
48
  # @return [Piece,NilClass] The piece on the square if any.
49
49
  attr_accessor :piece
50
50
 
@@ -26,11 +26,11 @@ module JustCheckers
26
26
  # { x: 1, y: 0, piece: { player_number: 1, direction: 1, king: false }}
27
27
  # ]
28
28
  # })
29
- def initialize(args = {})
30
- if args[:squares].first.class == Square
31
- @squares = args[:squares]
29
+ def initialize(squares: [])
30
+ @squares = if squares.first.class == Square
31
+ squares
32
32
  else
33
- @squares = args[:squares].map { |s| Square.new(s) }
33
+ squares.map { |s| Square.new(s) }
34
34
  end
35
35
  end
36
36
 
@@ -1,3 +1,3 @@
1
1
  module JustCheckers
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: just_checkers
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
  - Mark Humphreys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -90,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: '2.0'
93
+ version: '2.1'
94
94
  required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
@@ -103,4 +103,3 @@ signing_key:
103
103
  specification_version: 4
104
104
  summary: A checkers engine written in ruby
105
105
  test_files: []
106
- has_rdoc: