# Gère l'affichage et les saisies dans le terminal. class TerminalUI # Demande au joueur de choisir une carte et la retourne. def choose_card(player) player.hand.each_with_index do |card, index| puts "#{index + 1}. #{card}" end print 'Choose a card: ' choice = gets.chomp.to_i until choice.between?(1, player.hand.length) print 'Invalid choice. Choose a card: ' choice = gets.chomp.to_i end player.hand[choice - 1] end # Affiche la couleur d'atout. def display_trump(trump_suit) puts "Trump suit: #{trump_suit}" end # Affiche un avertissement si le coup joué ne respecte pas les règles. def display_wrong_card puts 'You cannot play this card.' end # Affiche le joueur ayant remporté le pli. def display_trick_winner(player) puts "#{player.name} wins the trick." puts end # Affiche les informations de débogage. def debug_game(game) puts "Dealer: #{game.dealer.name}" puts "Non-dealer: #{game.non_dealer.name}" puts puts "#{game.player1.name} has:" puts game.player1.hand puts puts "#{game.player2.name} has:" puts game.player2.hand puts puts "Upcard: #{game.upcard}" puts "Trump suit: #{game.trump_suit}" puts puts 'Stock:' puts game.stock.length puts end end