Files
ecarte/doc/Game.html
T
2026-10-09 20:27:18 +02:00

592 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>class Game - RDoc Documentation</title>
<meta name="keywords" content="ruby,class,Game">
<meta name="description" content="class Game: Gère le déroulement et les règles d&#39;une partie d&#39;Écarté.">
<script type="text/javascript">
var rdoc_rel_prefix = "./";
var index_rel_prefix = "./";
</script>
<script src="./js/navigation.js" defer></script>
<script src="./js/search.js" defer></script>
<script src="./js/search_index.js" defer></script>
<script src="./js/searcher.js" defer></script>
<script src="./js/darkfish.js" defer></script>
<link href="./css/fonts.css" rel="stylesheet">
<link href="./css/rdoc.css" rel="stylesheet">
<body id="top" role="document" class="class">
<div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
<span aria-hidden="true">&#9776;</span>
</div>
<nav id="navigation" role="navigation">
<div id="project-navigation">
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
<h2>
<a href="./index.html" rel="home">Home</a>
</h2>
<div id="table-of-contents-navigation">
<a href="./table_of_contents.html#pages">Pages</a>
<a href="./table_of_contents.html#classes">Classes</a>
<a href="./table_of_contents.html#methods">Methods</a>
</div>
</div>
<div id="search-section" role="search" class="project-section initially-hidden">
<form action="#" method="get" accept-charset="utf-8">
<div id="search-field-wrapper">
<input id="search-field" role="combobox" aria-label="Search"
aria-autocomplete="list" aria-controls="search-results"
type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
title="Type to search, Up and Down to navigate, Enter to load">
</div>
<ul id="search-results" aria-label="Search Results"
aria-busy="false" aria-expanded="false"
aria-atomic="false" class="initially-hidden"></ul>
</form>
</div>
</div>
<div id="parent-class-section" class="nav-section">
<h3>Ancestors</h3>
<ul><li>Object</li></ul>
</div>
<div class="nav-section">
<h3>Class Methods</h3>
<ul class="link-list" role="directory">
<li ><a href="#method-c-new">new</a></li>
</ul>
</div>
<div class="nav-section">
<h3>Instance Methods</h3>
<ul class="link-list" role="directory">
<li ><a href="#method-i-change_dealer">change_dealer</a></li>
<li ><a href="#method-i-deal">deal</a></li>
<li ><a href="#method-i-determine_dealer">determine_dealer</a></li>
<li ><a href="#method-i-game_winner">game_winner</a></li>
<li ><a href="#method-i-other_player">other_player</a></li>
<li ><a href="#method-i-play">play</a></li>
<li ><a href="#method-i-play_trick">play_trick</a></li>
<li ><a href="#method-i-valid_follow_card-3F">valid_follow_card?</a></li>
</ul>
</div>
<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.14.0.
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
</footer>
</nav>
<main role="main" aria-labelledby="class-Game">
<h1 id="class-Game" class="anchor-link class">
class Game
</h1>
<section class="description">
<p>Gère le déroulement et les règles d’une partie d’Écarté.</p>
</section>
<section id="5Buntitled-5D" class="documentation-section anchor-link">
<section class="attribute-method-details" class="method-section">
<header>
<h3>Attributes</h3>
</header>
<div id="attribute-i-dealer" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-dealer" title="Link to this attribute">
<span class="method-name">dealer</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-non_dealer" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-non_dealer" title="Link to this attribute">
<span class="method-name">non_dealer</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-player1" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-player1" title="Link to this attribute">
<span class="method-name">player1</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-player2" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-player2" title="Link to this attribute">
<span class="method-name">player2</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-stock" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-stock" title="Link to this attribute">
<span class="method-name">stock</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-trick_winner" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-trick_winner" title="Link to this attribute">
<span class="method-name">trick_winner</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-trump_suit" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-trump_suit" title="Link to this attribute">
<span class="method-name">trump_suit</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-upcard" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-upcard" title="Link to this attribute">
<span class="method-name">upcard</span>
<span class="attribute-access-type">[R]</span>
</a>
</div>
<div class="method-description">
</div>
</div>
</section>
<section id="public-class-5Buntitled-5D-method-details" class="method-section anchor-link">
<header>
<h3>Public Class Methods</h3>
</header>
<div id="method-c-new" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-c-new" title="Link to this method">
<span class="method-name">new</span>
<span class="method-args">(player_name1, player_name2)</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="new-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 10</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">player_name1</span>, <span class="ruby-identifier">player_name2</span>)
<span class="ruby-ivar">@deck</span> = <span class="ruby-constant">Deck</span>.<span class="ruby-identifier">new</span>
<span class="ruby-ivar">@player1</span> = <span class="ruby-constant">Player</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">player_name1</span>)
<span class="ruby-ivar">@player2</span> = <span class="ruby-constant">Player</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">player_name2</span>)
<span class="ruby-ivar">@dealer</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@non_dealer</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@upcard</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@trump_suit</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@trick_winner</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@ui</span> = <span class="ruby-constant">TerminalUI</span>.<span class="ruby-identifier">new</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
</section>
<section id="public-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
<header>
<h3>Public Instance Methods</h3>
</header>
<div id="method-i-change_dealer" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-change_dealer" title="Link to this method">
<span class="method-name">change_dealer</span>
<span class="method-args">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="change_dealer-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 41</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">change_dealer</span>
<span class="ruby-identifier">old_dealer</span> = <span class="ruby-ivar">@dealer</span>
<span class="ruby-ivar">@dealer</span> = <span class="ruby-ivar">@non_dealer</span>
<span class="ruby-ivar">@non_dealer</span> = <span class="ruby-identifier">old_dealer</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Échange les rôles de donneur et de non-donneur.</p>
</div>
</div>
<div id="method-i-deal" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-deal" title="Link to this method">
<span class="method-name">deal</span>
<span class="method-args">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="deal-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 48</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deal</span>
<span class="ruby-ivar">@player1</span>.<span class="ruby-identifier">clear_hand</span>
<span class="ruby-ivar">@player2</span>.<span class="ruby-identifier">clear_hand</span>
<span class="ruby-ivar">@deck</span> = <span class="ruby-constant">Deck</span>.<span class="ruby-identifier">new</span>
<span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">shuffle</span>
<span class="ruby-value">5</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span>
<span class="ruby-ivar">@non_dealer</span>.<span class="ruby-identifier">receive</span>(<span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">draw</span>)
<span class="ruby-ivar">@dealer</span>.<span class="ruby-identifier">receive</span>(<span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">draw</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@upcard</span> = <span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">draw</span>
<span class="ruby-ivar">@trump_suit</span> = <span class="ruby-ivar">@upcard</span>.<span class="ruby-identifier">suit</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Distribue les cartes et pose la retourne.</p>
</div>
</div>
<div id="method-i-determine_dealer" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-determine_dealer" title="Link to this method">
<span class="method-name">determine_dealer</span>
<span class="method-args">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="determine_dealer-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 23</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">determine_dealer</span>
<span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">shuffle</span>
<span class="ruby-keyword">while</span> <span class="ruby-ivar">@dealer</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-identifier">card1</span> = <span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">cards</span>[<span class="ruby-identifier">rand</span>(<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">30</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
<span class="ruby-identifier">card2</span> = <span class="ruby-ivar">@deck</span>.<span class="ruby-identifier">cards</span>[<span class="ruby-identifier">rand</span>(<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">30</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
<span class="ruby-keyword">if</span> <span class="ruby-identifier">card1</span>.<span class="ruby-identifier">strength</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">card2</span>.<span class="ruby-identifier">strength</span>
<span class="ruby-ivar">@dealer</span> = <span class="ruby-ivar">@player1</span>
<span class="ruby-ivar">@non_dealer</span> = <span class="ruby-ivar">@player2</span>
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">card2</span>.<span class="ruby-identifier">strength</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">card1</span>.<span class="ruby-identifier">strength</span>
<span class="ruby-ivar">@dealer</span> = <span class="ruby-ivar">@player2</span>
<span class="ruby-ivar">@non_dealer</span> = <span class="ruby-ivar">@player1</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Simule une coupe pour déterminer quel joueur sera le donneur.</p>
</div>
</div>
<div id="method-i-game_winner" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-game_winner" title="Link to this method">
<span class="method-name">game_winner</span>
<span class="method-args">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="game_winner-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 131</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">game_winner</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@player1</span>.<span class="ruby-identifier">score</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@player2</span>.<span class="ruby-identifier">score</span>
<span class="ruby-ivar">@player1</span>
<span class="ruby-keyword">elsif</span> <span class="ruby-ivar">@player1</span>.<span class="ruby-identifier">score</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@player2</span>.<span class="ruby-identifier">score</span>
<span class="ruby-ivar">@player2</span>
<span class="ruby-keyword">else</span>
<span class="ruby-keyword">nil</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Retourne le joueur ayant le meilleur score.</p>
</div>
</div>
<div id="method-i-other_player" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-other_player" title="Link to this method">
<span class="method-name">other_player</span>
<span class="method-args">(player)</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="other_player-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 111</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">other_player</span>(<span class="ruby-identifier">player</span>)
<span class="ruby-identifier">player</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@player1</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@player2</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@player1</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Retourne l’autre joueur.</p>
</div>
</div>
<div id="method-i-play" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-play" title="Link to this method">
<span class="method-name">play</span>
<span class="method-args">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="play-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 116</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">play</span>
<span class="ruby-identifier">lead_player</span> = <span class="ruby-ivar">@non_dealer</span>
<span class="ruby-identifier">follow_player</span> = <span class="ruby-ivar">@dealer</span>
<span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">display_trump</span>(<span class="ruby-ivar">@trump_suit</span>)
<span class="ruby-value">5</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span>
<span class="ruby-identifier">play_trick</span>(<span class="ruby-identifier">lead_player</span>, <span class="ruby-identifier">follow_player</span>)
<span class="ruby-identifier">lead_player</span> = <span class="ruby-ivar">@trick_winner</span>
<span class="ruby-identifier">follow_player</span> = <span class="ruby-identifier">other_player</span>(<span class="ruby-identifier">lead_player</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Joue une partie.</p>
</div>
</div>
<div id="method-i-play_trick" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-play_trick" title="Link to this method">
<span class="method-name">play_trick</span>
<span class="method-args">(lead_player, follow_player)</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="play_trick-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 86</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">play_trick</span>(<span class="ruby-identifier">lead_player</span>, <span class="ruby-identifier">follow_player</span>)
<span class="ruby-identifier">lead_card</span> = <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">choose_card</span>(<span class="ruby-identifier">lead_player</span>)
<span class="ruby-identifier">follow_card</span> = <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">choose_card</span>(<span class="ruby-identifier">follow_player</span>)
<span class="ruby-keyword">until</span> <span class="ruby-identifier">valid_follow_card?</span>(<span class="ruby-identifier">follow_player</span>, <span class="ruby-identifier">lead_card</span>, <span class="ruby-identifier">follow_card</span>)
<span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">display_wrong_card</span>
<span class="ruby-identifier">follow_card</span> = <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">choose_card</span>(<span class="ruby-identifier">follow_player</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">lead_player</span>.<span class="ruby-identifier">play</span>(<span class="ruby-identifier">lead_card</span>)
<span class="ruby-identifier">follow_player</span>.<span class="ruby-identifier">play</span>(<span class="ruby-identifier">follow_card</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@trump_suit</span>
<span class="ruby-ivar">@trick_winner</span> = <span class="ruby-identifier">lead_player</span>
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">strength</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">strength</span>
<span class="ruby-ivar">@trick_winner</span> = <span class="ruby-identifier">lead_player</span>
<span class="ruby-keyword">else</span>
<span class="ruby-ivar">@trick_winner</span> = <span class="ruby-identifier">follow_player</span>
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@trick_winner</span>.<span class="ruby-identifier">add_point</span>
<span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">display_trick_winner</span>(<span class="ruby-ivar">@trick_winner</span>)
<span class="ruby-keyword">end</span></pre>
</div>
<p>Joue un pli.</p>
</div>
</div>
<div id="method-i-valid_follow_card-3F" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-valid_follow_card-3F" title="Link to this method">
<span class="method-name">valid_follow_card?</span>
<span class="method-args">(follow_player, lead_card, follow_card)</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-description">
<div class="method-source-code" id="valid_follow_card-3F-source">
<pre><span class="ruby-comment"># File lib/game.rb, line 69</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">valid_follow_card?</span>(<span class="ruby-identifier">follow_player</span>, <span class="ruby-identifier">lead_card</span>, <span class="ruby-identifier">follow_card</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">follow_player</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">card</span><span class="ruby-operator">|</span> <span class="ruby-identifier">card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span> }
<span class="ruby-keyword">if</span> <span class="ruby-identifier">follow_player</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">card</span><span class="ruby-operator">|</span> <span class="ruby-identifier">card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">card</span>.<span class="ruby-identifier">strength</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">strength</span> }
<span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">strength</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">strength</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">lead_card</span>.<span class="ruby-identifier">suit</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">else</span>
<span class="ruby-keyword">if</span> <span class="ruby-identifier">follow_player</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">card</span><span class="ruby-operator">|</span> <span class="ruby-identifier">card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@trump_suit</span> }
<span class="ruby-identifier">follow_card</span>.<span class="ruby-identifier">suit</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@trump_suit</span>
<span class="ruby-keyword">else</span>
<span class="ruby-keyword">true</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Vérifie si le coup du second joueur respecte les règles.</p>
</div>
</div>
</section>
</section>
</main>