ttt_gem_8thlight 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/game.rb +39 -0
- data/lib/ttt.rb +0 -4
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f2cc3c477ba387aba5c0d1a49590249051f958e
|
4
|
+
data.tar.gz: f7b45c9722117b062a91a92e06d52f1d0533e8e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2203e97b566a66d277637e3e37c253c96941f9431ff4fe39e1bced9c1a2400b443698e446cb76190e5c4dd92eb612171404347d5ad5e79ee197ca450fb271e35
|
7
|
+
data.tar.gz: e0dca17b9f0d13ebcb164a540a6638de9727ed0a6d66a07ca6e2be1a4bfb40464b415f9e6b971d37e42b8c61b49e68a424006da1b1843cab07a375754394fae9
|
data/lib/game.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'ttt'
|
2
|
+
|
3
|
+
class Game
|
4
|
+
attr_accessor :ttt
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
@ttt = TTT.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def play(ui)
|
11
|
+
ui.display_board(@ttt)
|
12
|
+
move = ui.ask_for_move(@ttt)
|
13
|
+
@ttt.make_move(move)
|
14
|
+
while !over?
|
15
|
+
ui.display_board(@ttt)
|
16
|
+
@ttt.make_move(computer_move)
|
17
|
+
ui.display_board(@ttt)
|
18
|
+
move = ui.ask_for_move(@ttt) if !over?
|
19
|
+
@ttt.make_move(move)
|
20
|
+
ui.display_board(@ttt)
|
21
|
+
end
|
22
|
+
Game.new.play(ui) if ui.play_again?
|
23
|
+
move
|
24
|
+
end
|
25
|
+
|
26
|
+
def move(space)
|
27
|
+
@ttt.make_move(space)
|
28
|
+
end
|
29
|
+
|
30
|
+
def computer_move
|
31
|
+
@ttt.best_move
|
32
|
+
end
|
33
|
+
|
34
|
+
def over?
|
35
|
+
return true if @ttt.winning_player?('x') ||
|
36
|
+
@ttt.winning_player?('o') ||
|
37
|
+
@ttt.available_spaces == []
|
38
|
+
end
|
39
|
+
end
|
data/lib/ttt.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ttt_gem_8thlight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Meagan Waller
|
@@ -17,6 +17,7 @@ extensions: []
|
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
19
|
- lib/ttt.rb
|
20
|
+
- lib/game.rb
|
20
21
|
homepage: http://rubygems.org/gems/ttt_gem_8thlight
|
21
22
|
licenses:
|
22
23
|
- MIT
|