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