Files
2026-10-10 14:57:27 +02:00

731 lines
18 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>class Deck - RDoc Documentation</title>
<meta
name="keywords"
content="ruby,class,Deck"
>
<meta
name="description"
content="class Deck: Représente un paquet de cartes et gère son contenu."
>
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:title" content="class Deck - RDoc Documentation">
<meta property="og:description" content="Représente un paquet de cartes et gère son contenu.">
<!-- Twitter -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="class Deck - RDoc Documentation">
<meta name="twitter:description" content="Représente un paquet de cartes et gère son contenu.">
<script type="text/javascript">
var rdoc_rel_prefix = "./";
var index_rel_prefix = "./";
</script>
<script
src="./js/theme-toggle.js?v=7.0.4"
></script>
<script
src="./js/search_navigation.js?v=7.0.4"
defer
></script>
<script
src="./js/search_data.js?v=7.0.4"
defer
></script>
<script
src="./js/search_ranker.js?v=7.0.4"
defer
></script>
<script
src="./js/search_controller.js?v=7.0.4"
defer
></script>
<script
src="./js/c_highlighter.js?v=7.0.4"
defer
></script>
<script
src="./js/aliki.js?v=7.0.4"
defer
></script>
<link
href="./css/rdoc.css?v=7.0.4"
rel="stylesheet"
>
<body role="document" class="class has-toc">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<!-- Chevron (right arrow) - used for expand/collapse -->
<symbol
id="icon-chevron"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="9 18 15 12 9 6"></polyline>
</symbol>
<!-- File/Document - Pages section -->
<symbol
id="icon-file"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
></path>
<polyline points="14 2 14 8 20 8"></polyline>
</symbol>
<!-- Layers/Stack - Classes and Modules section -->
<symbol
id="icon-layers"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
<polyline points="2 17 12 22 22 17"></polyline>
<polyline points="2 12 12 17 22 12"></polyline>
</symbol>
<!-- Curly braces with C - Class Methods section -->
<symbol
id="icon-class-methods"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
<path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
<text
x="12"
y="17"
text-anchor="middle"
font-size="13"
font-weight="bold"
fill="currentColor"
stroke="none"
>
C
</text>
</symbol>
<!-- Curly braces with I - Instance Methods section -->
<symbol
id="icon-instance-methods"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
<path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
<text
x="12"
y="17"
text-anchor="middle"
font-size="13"
font-weight="bold"
fill="currentColor"
stroke="none"
>
I
</text>
</symbol>
<!-- Double chevrons up - Ancestors section -->
<symbol
id="icon-ancestors"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="17 11 12 6 7 11"></polyline>
<polyline points="17 18 12 13 7 18"></polyline>
</symbol>
<!-- User with plus - Included Modules section -->
<symbol
id="icon-includes"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="8.5" cy="7" r="4"></circle>
<line
x1="20"
y1="8"
x2="20"
y2="14"
></line>
<line
x1="23"
y1="11"
x2="17"
y2="11"
></line>
</symbol>
<!-- User with check - Extended Modules section -->
<symbol
id="icon-extends"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="8.5" cy="7" r="4"></circle>
<polyline points="17 11 19 13 23 9"></polyline>
</symbol>
<!-- List - Sections section -->
<symbol
id="icon-list"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<line
x1="8"
y1="6"
x2="21"
y2="6"
></line>
<line
x1="8"
y1="12"
x2="21"
y2="12"
></line>
<line
x1="8"
y1="18"
x2="21"
y2="18"
></line>
<line
x1="3"
y1="6"
x2="3.01"
y2="6"
></line>
<line
x1="3"
y1="12"
x2="3.01"
y2="12"
></line>
<line
x1="3"
y1="18"
x2="3.01"
y2="18"
></line>
</symbol>
</svg>
<header class="top-navbar">
<a href="./index.html" class="navbar-brand">
RDoc Documentation
</a>
<!-- Desktop search bar -->
<div class="navbar-search navbar-search-desktop" role="search">
<form action="#" method="get" accept-charset="utf-8">
<input id="search-field" role="combobox" aria-label="Search"
aria-autocomplete="list" aria-controls="search-results-desktop"
type="text" name="search" placeholder="Search (/) for a class, method..."
spellcheck="false" autocomplete="off"
title="Type to search, Up and Down to navigate, Enter to load">
<ul id="search-results-desktop" aria-label="Search Results"
aria-busy="false" aria-expanded="false"
aria-atomic="false" class="initially-hidden search-results"></ul>
</form>
</div>
<!-- Mobile search icon button -->
<button id="search-toggle" class="navbar-search-mobile" aria-label="Open search" type="button">
<span aria-hidden="true">🔍</span>
</button>
<!-- Theme toggle button -->
<button id="theme-toggle" class="theme-toggle" aria-label="Switch to dark mode" type="button">
<span class="theme-toggle-icon" aria-hidden="true">🌙</span>
</button>
</header>
<!-- Search Modal (Mobile) -->
<div id="search-modal" class="search-modal" hidden aria-modal="true" role="dialog" aria-label="Search">
<div class="search-modal-backdrop"></div>
<div class="search-modal-content">
<div class="search-modal-header">
<form class="search-modal-form" action="#" method="get" accept-charset="utf-8">
<span class="search-modal-icon" aria-hidden="true">🔍</span>
<input id="search-field-mobile" role="combobox" aria-label="Search"
aria-autocomplete="list" aria-controls="search-results-mobile"
type="text" name="search" placeholder="Search documentation"
spellcheck="false" autocomplete="off">
<button type="button" class="search-modal-close" aria-label="Close search" id="search-modal-close">
<span aria-hidden="true">esc</span>
</button>
</form>
</div>
<div class="search-modal-body">
<ul id="search-results-mobile" aria-label="Search Results"
aria-busy="false" aria-expanded="false"
aria-atomic="false" class="search-results search-modal-results initially-hidden"></ul>
<div class="search-modal-empty">
<p>No recent searches</p>
</div>
</div>
</div>
</div>
<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" hidden>
<div id="fileindex-section" class="nav-section">
<details class="nav-section-collapsible" >
<summary class="nav-section-header">
<span class="nav-section-icon">
<svg>
<use href="#icon-file"></use>
</svg>
</span>
<span class="nav-section-title">Pages</span>
<span class="nav-section-chevron">
<svg>
<use href="#icon-chevron"></use>
</svg>
</span>
</summary>
<ul class="nav-list">
<li>
<a href="./README_md.html">
README
</a>
</li>
</ul>
</details>
</div>
<div id="parent-class-section" class="nav-section">
<details class="nav-section-collapsible" open>
<summary class="nav-section-header">
<span class="nav-section-icon">
<svg><use href="#icon-ancestors"></use></svg>
</span>
<span class="nav-section-title">Ancestors</span>
<span class="nav-section-chevron">
<svg><use href="#icon-chevron"></use></svg>
</span>
</summary>
<ul><li>Object</li></ul>
</details>
</div>
<div class="nav-section">
<details class="nav-section-collapsible" open>
<summary class="nav-section-header">
<span class="nav-section-icon">
<svg><use href="#icon-class-methods"></use></svg>
</span>
<span class="nav-section-title">Class Methods</span>
<span class="nav-section-chevron">
<svg><use href="#icon-chevron"></use></svg>
</span>
</summary>
<ul class="nav-list" role="directory">
<li ><a href="#method-c-new">new</a></li>
</ul>
</details>
</div>
<div class="nav-section">
<details class="nav-section-collapsible" open>
<summary class="nav-section-header">
<span class="nav-section-icon">
<svg><use href="#icon-instance-methods"></use></svg>
</span>
<span class="nav-section-title">Instance Methods</span>
<span class="nav-section-chevron">
<svg><use href="#icon-chevron"></use></svg>
</span>
</summary>
<ul class="nav-list" role="directory">
<li ><a href="#method-i-draw">draw</a></li>
<li ><a href="#method-i-shuffle">shuffle</a></li>
</ul>
</details>
</div>
<div id="classindex-section" class="nav-section">
<details class="nav-section-collapsible" open>
<summary class="nav-section-header">
<span class="nav-section-icon">
<svg><use href="#icon-layers"></use></svg>
</span>
<span class="nav-section-title">Classes and Modules</span>
<span class="nav-section-chevron">
<svg><use href="#icon-chevron"></use></svg>
</span>
</summary>
<ul class="link-list nav-list"><li><code><a href="./Card.html">Card</a></code></li><li><code><a href="./Deck.html">Deck</a></code></li><li><code><a href="./Game.html">Game</a></code></li><li><code><a href="./Player.html">Player</a></code></li><li><code><a href="./TerminalUI.html">TerminalUI</a></code></li></ul>
</details>
</div>
</nav>
<main role="main" aria-labelledby="class-Deck">
<h1 id="class-Deck" class="anchor-link class">
class Deck
</h1>
<section class="description">
<p>Représente un paquet de cartes et gère son contenu.</p>
</section>
<section id="5Buntitled-5D" class="documentation-section anchor-link">
<section class="attribute-method-details method-section">
<header>
<h3 id="attributes"><a href="#attributes">Attributes</a></h3>
</header>
<div id="attribute-i-cards" class="method-detail anchor-link">
<div class="method-heading attribute-method-heading">
<a href="#attribute-i-cards" title="Link to this attribute">
<span class="method-name">cards</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 id="public-class-methods"><a href="#public-class-methods">Public Class Methods</a></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">()</span>
</a>
</div>
</div>
<div class="method-controls">
<details class="method-source-toggle">
<summary>Source</summary>
</details>
</div>
<div class="method-source-code" id="new-source">
<pre class="ruby" data-language="ruby"><span class="ruby-comment"># File lib/deck.rb, line 7</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>
<span class="ruby-ivar">@cards</span> = []
<span class="ruby-identifier">values</span> = <span class="ruby-node">%w[7 8 9 10 ace jack queen king]</span>
<span class="ruby-identifier">suits</span> = <span class="ruby-node">%w[hearts diamonds clubs spades]</span>
<span class="ruby-identifier">suits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">suit</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
<span class="ruby-ivar">@cards</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Card</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">suit</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
<div class="method-description">
</div>
</div>
</section>
<section id="public-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
<header>
<h3 id="public-instance-methods"><a href="#public-instance-methods">Public Instance Methods</a></h3>
</header>
<div id="method-i-draw" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-draw" title="Link to this method">
<span class="method-name">draw</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-source-code" id="draw-source">
<pre class="ruby" data-language="ruby"><span class="ruby-comment"># File lib/deck.rb, line 25</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">draw</span>
<span class="ruby-ivar">@cards</span>.<span class="ruby-identifier">pop</span>
<span class="ruby-keyword">end</span></pre>
</div>
<div class="method-description">
<p>Retire et retourne la dernière carte du paquet.</p>
</div>
</div>
<div id="method-i-shuffle" class="method-detail anchor-link ">
<div class="method-header">
<div class="method-heading">
<a href="#method-i-shuffle" title="Link to this method">
<span class="method-name">shuffle</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-source-code" id="shuffle-source">
<pre class="ruby" data-language="ruby"><span class="ruby-comment"># File lib/deck.rb, line 20</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">shuffle</span>
<span class="ruby-ivar">@cards</span>.<span class="ruby-identifier">shuffle!</span>
<span class="ruby-keyword">end</span></pre>
</div>
<div class="method-description">
<p>Mélange les cartes du paquet.</p>
</div>
</div>
</section>
</section>
</main>
<aside class="table-of-contents" role="complementary" aria-label="Table of Contents">
<div class="toc-sticky">
<h3 class="toc-heading">On This Page</h3>
<nav class="toc-nav" id="toc-nav" aria-label="Page sections">
<!-- Generated by JavaScript based on page headings -->
</nav>
</div>
</aside>
<footer class="site-footer">
<div class="footer-bottom">
<p>
Generated by <a href="https://ruby.github.io/rdoc/">RDoc 7.0.4</a>
using the Aliki theme by <a href="http://st0012.dev">Stan Lo</a>
</p>
</div>
</footer>
</body>