tic_tac_doh 0.1.0 → 0.1.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/tic_tac_doh/version.rb +1 -1
- data/lib/tic_tac_doh.rb +33 -6
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e10b90e82af068949f73309b6aae63a73c6aaeb3
|
|
4
|
+
data.tar.gz: 017cf3cb2aecf5387686e96eb808ab08a95fbf9f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 166d06be2f90a69f1d0a340399e3d3feb39d3c89817c3dde01f2d86c1a5566d0fdb167b4dd1021dc80bc877750e75c4453931146d6a3df138bbb93feca29167a
|
|
7
|
+
data.tar.gz: 8526283be5f20ed301f73c03c2a57103a7b10956bb8bdeb68220571776f8c673d646c9d45fa16771b70a5e4cb72b2f000af9b31b3286ecc77ea06a5dab72efe6
|
data/lib/tic_tac_doh/version.rb
CHANGED
data/lib/tic_tac_doh.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'tic_tac_doh/version'
|
|
2
2
|
|
|
3
3
|
module TicTacDoh
|
|
4
4
|
class Game
|
|
@@ -7,20 +7,25 @@ module TicTacDoh
|
|
|
7
7
|
# or which turn would have followed if draw
|
|
8
8
|
|
|
9
9
|
attr_reader :players, :grid, :turn
|
|
10
|
+
attr_accessor :players
|
|
10
11
|
|
|
11
12
|
def initialize(args={})
|
|
12
13
|
@players = []
|
|
13
14
|
@turn = 1
|
|
14
|
-
@players << args[:player1] << args[:player2]
|
|
15
|
-
args.fetch(:
|
|
15
|
+
# @players << args[:player1] << args[:player2]
|
|
16
|
+
args.fetch(:board_size, 3).times do
|
|
16
17
|
@grid = Array.new(3) {}
|
|
17
18
|
end
|
|
18
19
|
end
|
|
19
20
|
|
|
21
|
+
def set_board_size(size)
|
|
22
|
+
prepare_grid(size)
|
|
23
|
+
end
|
|
24
|
+
|
|
20
25
|
def play
|
|
21
26
|
# puts grid.length
|
|
22
27
|
# puts players.count
|
|
23
|
-
prepare_grid
|
|
28
|
+
prepare_grid
|
|
24
29
|
player_turn ||= 0
|
|
25
30
|
until game_over
|
|
26
31
|
clear_screen
|
|
@@ -36,8 +41,26 @@ module TicTacDoh
|
|
|
36
41
|
# puts @turn
|
|
37
42
|
end
|
|
38
43
|
|
|
44
|
+
def add_player(mark)
|
|
45
|
+
if game_over && valid_mark
|
|
46
|
+
players << Player.new(mark: mark)
|
|
47
|
+
true
|
|
48
|
+
else
|
|
49
|
+
false
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
39
53
|
private
|
|
40
54
|
|
|
55
|
+
def valid_mark(mark)
|
|
56
|
+
players.each |player| do
|
|
57
|
+
if player.mark == mark[0]
|
|
58
|
+
false
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
true
|
|
62
|
+
end
|
|
63
|
+
|
|
41
64
|
def prepare_grid(size=grid.length)
|
|
42
65
|
@grid = []
|
|
43
66
|
array = []
|
|
@@ -117,7 +140,7 @@ module TicTacDoh
|
|
|
117
140
|
end
|
|
118
141
|
|
|
119
142
|
def clear_screen
|
|
120
|
-
system 'clear' or system 'cls'
|
|
143
|
+
# system 'clear' or system 'cls'
|
|
121
144
|
end
|
|
122
145
|
|
|
123
146
|
def calculate_cell(cell_number)
|
|
@@ -153,7 +176,7 @@ module TicTacDoh
|
|
|
153
176
|
end
|
|
154
177
|
|
|
155
178
|
class Player
|
|
156
|
-
attr_reader :nickname, :score
|
|
179
|
+
attr_reader :nickname, :score
|
|
157
180
|
|
|
158
181
|
def initialize(args={})
|
|
159
182
|
@nickname = args.fetch(:nickname, "Anonymous#{rand(100)}")
|
|
@@ -170,5 +193,9 @@ module TicTacDoh
|
|
|
170
193
|
def add_to_score(score)
|
|
171
194
|
@score += score
|
|
172
195
|
end
|
|
196
|
+
|
|
197
|
+
def mark
|
|
198
|
+
@mark[0]
|
|
199
|
+
end
|
|
173
200
|
end
|
|
174
201
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tic_tac_doh
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cuadra Quevedo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-04-
|
|
11
|
+
date: 2015-04-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|