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 +4 -4
- data/lib/connect_four_cli/board.rb +6 -4
- data/lib/connect_four_cli/computer.rb +1 -1
- data/lib/connect_four_cli/version.rb +1 -1
- data/tags +7 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6e812549619038204162a407416c9dc50691c4c
|
4
|
+
data.tar.gz: af4e4332abe5169fb13a1d0cdeda0fe98a3424b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|