connect_four_cli 0.3.0 → 0.3.1

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: 42e0dd973e8f843cbb6358f150fd18dbad74d9f8
4
- data.tar.gz: 97d29400a9a64326c5783164c5184941fe02840d
3
+ metadata.gz: f6e812549619038204162a407416c9dc50691c4c
4
+ data.tar.gz: af4e4332abe5169fb13a1d0cdeda0fe98a3424b1
5
5
  SHA512:
6
- metadata.gz: 9bf928eca8187f58ff2fbb31eff63911687190700de96c81013cbd97bcefe6a66f68f35870d0063a81e5ce16cb2b2d471a1c9e2d15771efd74412689ca3cdfe6
7
- data.tar.gz: 0663a1762037b11a2e0a2cbd8097d667b127d9975c4271bc8c7f1c44c7cec5d5651b559a3f0e3afddce1f13877500f9b6fc51cb4884ca09bb9be0405d2c09c47
6
+ metadata.gz: 27ad62cfedcfb44acd6700e1854a5166362bf22cdea62e8cc2833e3f8ff930474bfbd6f608e9b608852815e3c2a0b79666e28acc27b7c11def332c0287906509
7
+ data.tar.gz: e712cde68ade41bc7f168b66d5179a55779e0c2babea418b963608aa91e77812fd6f603d4677babac62274f9854c9472e3446840b6aae33ae0f018762e693b1c
@@ -102,18 +102,20 @@ module ConnectFourCli
102
102
  moves = []
103
103
  possible_moves.each do |possible_move|
104
104
  all_directions_from(3,possible_move.reverse).each do |ray|
105
+ next if ray.length < 3
105
106
  color = ray[0].color
106
- if ray.all? { |checker| checker.checker? && checker.color == color }
107
+ if ray.all? { |checker| !checker.nil? && checker.checker? && checker.color == color }
107
108
  moves << possible_move
108
109
  end
109
110
  end
110
111
 
111
112
  other_moves = all_directions_from(2,possible_move.reverse).map.with_index do |ray2, i|
112
- ray2 << all_directions_from(1,possible_move.reverse)[i][0]
113
- end
113
+ (ray2 << all_directions_from(1,possible_move.reverse)[i][0]).compact
114
+ end.reject { |ray| ray.length < 3 }
114
115
  other_moves.each do |ray|
116
+ next if ray.length < 3
115
117
  color = ray[0].color
116
- if ray.all? { |checker| checker.checker? && checker.color == color }
118
+ if ray.all? { |checker| !checker.nil? && checker.checker? && checker.color == color }
117
119
  moves << possible_move
118
120
  end
119
121
  end
@@ -15,7 +15,7 @@ module ConnectFourCli
15
15
 
16
16
  def make_move
17
17
  if board.winning_moves.length > 0
18
- move = board.winning_moves.sample[0]
18
+ move = board.winning_moves[0][0]
19
19
  else
20
20
  move = random_move
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module ConnectFourCli
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/tags CHANGED
@@ -19,8 +19,8 @@ ConnectFourCli /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_
19
19
  Game /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/game.rb /^ class Game$/;" c class:ConnectFourCli
20
20
  NoChecker /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/checker.rb /^class NoChecker < Checker$/;" c class:ConnectFourCli
21
21
  Renderer /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/renderer.rb /^ class Renderer$/;" c class:ConnectFourCli
22
- all_diagonals /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def all_diagonals$/;" f class:ConnectFourCli.Board.possible_moves
23
- all_directions_from /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def all_directions_from(distance, coord)$/;" f class:ConnectFourCli.Board
22
+ all_diagonals /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def all_diagonals$/;" f class:ConnectFourCli.Board.winning_moves.possible_moves
23
+ all_directions_from /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def all_directions_from(distance, coord)$/;" f class:ConnectFourCli.Board.winning_moves
24
24
  build_board /Users/kitlangton/Viking/Unit4/connect_four_cli/spec/connect_four_cli/board_spec.rb /^ def build_board$/;" f
25
25
  build_grid /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def build_grid$/;" f class:ConnectFourCli.Board
26
26
  checker? /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/checker.rb /^ def checker?$/;" f class:ConnectFourCli.Checker
@@ -36,11 +36,11 @@ display /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/che
36
36
  display /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/checker.rb /^ def display$/;" f class:ConnectFourCli.NoChecker
37
37
  display /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/game.rb /^ def display$/;" f class:ConnectFourCli.Game
38
38
  each_col /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def each_col(color)$/;" f class:ConnectFourCli.Board
39
- each_diag /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def each_diag(color)$/;" f class:ConnectFourCli.Board.possible_moves
40
- each_row /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def each_row(color)$/;" f class:ConnectFourCli.Board
39
+ each_diag /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def each_diag(color)$/;" f class:ConnectFourCli.Board.winning_moves.possible_moves
40
+ each_row /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def each_row(color)$/;" f class:ConnectFourCli.Board.winning_moves
41
41
  four_in_a_row? /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def four_in_a_row?(color)$/;" f class:ConnectFourCli.Board
42
42
  free_position /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def free_position(number)$/;" f class:ConnectFourCli.Board
43
- full? /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def full?$/;" f class:ConnectFourCli.Board
43
+ full? /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def full?$/;" f class:ConnectFourCli.Board.winning_moves
44
44
  game_state /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/game.rb /^ def game_state$/;" f class:ConnectFourCli.Game
45
45
  highlight_column /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/renderer.rb /^ def self.highlight_column(game, column)$/;" F class:ConnectFourCli.Renderer
46
46
  initialize /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def initialize(size)$/;" f class:ConnectFourCli.Board
@@ -51,9 +51,9 @@ initialize /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/
51
51
  locations_for /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def locations_for(color)$/;" f class:ConnectFourCli.Board
52
52
  make_move /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/computer.rb /^ def make_move$/;" f class:ConnectFourCli.Computer.random_move
53
53
  next_turn /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/game.rb /^ def next_turn$/;" f class:ConnectFourCli.Game
54
- place_checker /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def place_checker(checker, at:)$/;" f class:ConnectFourCli.Board
54
+ place_checker /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def place_checker(checker, at:)$/;" f class:ConnectFourCli.Board.winning_moves
55
55
  place_turn_checker /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/game.rb /^ def place_turn_checker(position)$/;" f class:ConnectFourCli.Game
56
- possible_moves /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def possible_moves$/;" f class:ConnectFourCli.Board
56
+ possible_moves /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/board.rb /^ def possible_moves$/;" f class:ConnectFourCli.Board.winning_moves
57
57
  random_move /Users/kitlangton/Viking/Unit4/connect_four_cli/lib/connect_four_cli/computer.rb /^ def random_move$/;" f class:ConnectFourCli.Computer
58
58
  red_checker /Users/kitlangton/Viking/Unit4/connect_four_cli/spec/connect_four_cli/board_spec.rb /^ def red_checker$/;" f
59
59
  red_checker /Users/kitlangton/Viking/Unit4/connect_four_cli/spec/connect_four_cli/checker_spec.rb /^ def red_checker$/;" f
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: connect_four_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kit Langton