aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2015-04-15 00:58:12 -0400
committerTeddy Wing2015-04-15 00:58:12 -0400
commit295b5507419c98cad6fd439337741f9bd28c8622 (patch)
tree5cecdf8a1f4ee98b1a327791182d297c9b26b57f
parent9332a11f15f5f08dae8189e6396f5ca36f9dee47 (diff)
downloadtic-tac-toe-295b5507419c98cad6fd439337741f9bd28c8622.tar.bz2
main.rb: Exit more quietly on Ctrl-C
Otherwise it prints "Interrupt" and a traceback.
-rw-r--r--main.rb42
1 files changed, 23 insertions, 19 deletions
diff --git a/main.rb b/main.rb
index eea663c..835d6c5 100644
--- a/main.rb
+++ b/main.rb
@@ -7,25 +7,29 @@ player_2 = Player.new(Player::INSIGNIAS[:o], board)
board.current_player = player_1
winner = nil
-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
+begin
+ until winner
puts board.render
- puts "Player #{winner} wins"
+ 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