diff options
| author | Teddy Wing | 2015-04-15 00:58:12 -0400 |
|---|---|---|
| committer | Teddy Wing | 2015-04-15 00:58:12 -0400 |
| commit | 295b5507419c98cad6fd439337741f9bd28c8622 (patch) | |
| tree | 5cecdf8a1f4ee98b1a327791182d297c9b26b57f | |
| parent | 9332a11f15f5f08dae8189e6396f5ca36f9dee47 (diff) | |
| download | tic-tac-toe-295b5507419c98cad6fd439337741f9bd28c8622.tar.bz2 | |
main.rb: Exit more quietly on Ctrl-C
Otherwise it prints "Interrupt" and a traceback.
| -rw-r--r-- | main.rb | 42 |
1 files changed, 23 insertions, 19 deletions
@@ -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 |
