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

306 lines
12 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 TerminalUI - RDoc Documentation</title>
<meta name="keywords" content="ruby,class,TerminalUI">
<meta name="description" content="class TerminalUI: Gère l&#39;affichage et les saisies dans le terminal.">
<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>Instance Methods</h3>
<ul class="link-list" role="directory">
<li ><a href="#method-i-choose_card">choose_card</a></li>
<li ><a href="#method-i-debug_game">debug_game</a></li>
<li ><a href="#method-i-display_trick_winner">display_trick_winner</a></li>
<li ><a href="#method-i-display_trump">display_trump</a></li>
<li ><a href="#method-i-display_wrong_card">display_wrong_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-TerminalUI">
<h1 id="class-TerminalUI" class="anchor-link class">
class TerminalUI
</h1>
<section class="description">
<p>Gère l’affichage et les saisies dans le terminal.</p>
</section>
<section id="5Buntitled-5D" class="documentation-section anchor-link">
<section id="public-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
<header>
<h3>Public Instance Methods</h3>
</header>
<div id="method-i-choose_card" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-choose_card" title="Link to this method">
<span class="method-name">choose_card</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="choose_card-source">
<pre><span class="ruby-comment"># File lib/terminal_ui.rb, line 5</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">choose_card</span>(<span class="ruby-identifier">player</span>)
<span class="ruby-identifier">player</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">card</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{index + 1}. #{card}&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">print</span> <span class="ruby-string">&quot;Choose a card: &quot;</span>
<span class="ruby-identifier">choice</span> = <span class="ruby-identifier">gets</span>.<span class="ruby-identifier">chomp</span>.<span class="ruby-identifier">to_i</span>
<span class="ruby-keyword">until</span> <span class="ruby-identifier">choice</span>.<span class="ruby-identifier">between?</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">player</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">length</span>)
<span class="ruby-identifier">print</span> <span class="ruby-string">&quot;Invalid choice. Choose a card: &quot;</span>
<span class="ruby-identifier">choice</span> = <span class="ruby-identifier">gets</span>.<span class="ruby-identifier">chomp</span>.<span class="ruby-identifier">to_i</span>
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">player</span>.<span class="ruby-identifier">hand</span>[<span class="ruby-identifier">choice</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
<span class="ruby-keyword">end</span></pre>
</div>
<p>Demande au joueur de choisir une carte et la retourne.</p>
</div>
</div>
<div id="method-i-debug_game" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-debug_game" title="Link to this method">
<span class="method-name">debug_game</span>
<span class="method-args">(game)</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="debug_game-source">
<pre><span class="ruby-comment"># File lib/terminal_ui.rb, line 38</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">debug_game</span>(<span class="ruby-identifier">game</span>)
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Dealer: #{game.dealer.name}&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Non-dealer: #{game.non_dealer.name}&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{game.player1.name} has:&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">game</span>.<span class="ruby-identifier">player1</span>.<span class="ruby-identifier">hand</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{game.player2.name} has:&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">game</span>.<span class="ruby-identifier">player2</span>.<span class="ruby-identifier">hand</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Upcard: #{game.upcard}&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Trump suit: #{game.trump_suit}&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;Stock:&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">game</span>.<span class="ruby-identifier">stock</span>.<span class="ruby-identifier">length</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Affiche les informations de débogage.</p>
</div>
</div>
<div id="method-i-display_trick_winner" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-display_trick_winner" title="Link to this method">
<span class="method-name">display_trick_winner</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="display_trick_winner-source">
<pre><span class="ruby-comment"># File lib/terminal_ui.rb, line 32</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">display_trick_winner</span>(<span class="ruby-identifier">player</span>)
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{player.name} wins the trick.&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Affiche le joueur ayant remporté le pli.</p>
</div>
</div>
<div id="method-i-display_trump" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-display_trump" title="Link to this method">
<span class="method-name">display_trump</span>
<span class="method-args">(trump_suit)</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="display_trump-source">
<pre><span class="ruby-comment"># File lib/terminal_ui.rb, line 22</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">display_trump</span>(<span class="ruby-identifier">trump_suit</span>)
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Trump suit: #{trump_suit}&quot;</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Affiche la couleur d’atout.</p>
</div>
</div>
<div id="method-i-display_wrong_card" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-display_wrong_card" title="Link to this method">
<span class="method-name">display_wrong_card</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="display_wrong_card-source">
<pre><span class="ruby-comment"># File lib/terminal_ui.rb, line 27</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">display_wrong_card</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;You cannot play this card.&quot;</span>
<span class="ruby-keyword">end</span></pre>
</div>
<p>Affiche un avertissement si le coup joué ne respecte pas les règles.</p>
</div>
</div>
</section>
</section>
</main>