From 5cf2d683e7bc234590ac10d989184c5da471dbdf Mon Sep 17 00:00:00 2001 From: julien Date: Tue, 6 Oct 2026 16:29:25 +0200 Subject: [PATCH] =?UTF-8?q?Commenc=C3=A9=20=C3=A0=20impl=C3=A9menter=20les?= =?UTF-8?q?=20plis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/game.rb | 15 +++++++++++++++ lib/terminal_ui.rb | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/lib/game.rb b/lib/game.rb index ef43595..bb98fee 100644 --- a/lib/game.rb +++ b/lib/game.rb @@ -60,10 +60,25 @@ class Game @deck.cards end + def valid_follow_card?(follow_player, lead_card, follow_card) + if follow_card.suit == lead_card.suit + true + elsif follow_player.hand.any? { |card| card.suit == lead_card.suit } + false + else + true + end + end + def play_trick(lead_player, follow_player) lead_card = @ui.choose_card(lead_player) follow_card = @ui.choose_card(follow_player) + until valid_follow_card?(follow_player, lead_card, follow_card) + @ui.display_wrong_card + follow_card = @ui.choose_card(follow_player) + end + lead_player.play(lead_card) follow_player.play(follow_card) diff --git a/lib/terminal_ui.rb b/lib/terminal_ui.rb index 369043d..3cdb4b6 100644 --- a/lib/terminal_ui.rb +++ b/lib/terminal_ui.rb @@ -10,6 +10,10 @@ class TerminalUI player.hand[choice - 1] end + def display_wrong_card + puts "You cannot play this card." + end + def display_trick_winner(player) puts "#{player.name} wins the trick." puts