connect_four_cli 0.3.0 → 0.3.1

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