aboutsummaryrefslogtreecommitdiffstats
path: root/main.rb
diff options
context:
space:
mode:
Diffstat (limited to 'main.rb')
-rw-r--r--main.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/main.rb b/main.rb
new file mode 100644
index 0000000..835d6c5
--- /dev/null
+++ b/main.rb
@@ -0,0 +1,35 @@
+require_relative 'board'
+require_relative 'player'
+
+board = Board.new
+player_1 = Player.new(Player::INSIGNIAS[:x], board)
+player_2 = Player.new(Player::INSIGNIAS[:o], board)
+board.current_player = player_1
+winner = nil
+
+begin
+ until winner
+ puts board.render
+ puts
+
+ print "Player #{board.current_player.insignia} move - " \
+ "Enter coordinates (e.g. 0,2): "
+
+ coordinates = gets.chomp
+ coordinates = board.transform_coordinates(coordinates)
+
+ board.current_player.move(coordinates)
+
+ board.current_player = board.current_player == player_1 ? player_2 : player_1
+
+ puts '----'
+
+ winner = board.winner?
+ if winner
+ puts board.render
+ puts "Player #{winner} wins"
+ end
+ end
+rescue Interrupt
+ puts
+end