just_checkers 0.1.2 → 0.1.3

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: 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: