docs/_site/code.html in rpsg-0.3.2 vs docs/_site/code.html in rpsg-0.3.3
- old
+ new
@@ -1,15 +1,15 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="UTF-8"/>
- <title>Master Code - RPSG</title>
+ <title>Complete Code - RPSG</title>
<meta name="description" content="A Ruby Programmed Rock Paper Scissors Game"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="theme-color" content="#157878"/>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css' />
- <link rel="stylesheet" href="/assets/css/style.css?v=ac6ad727448216a7da0d1d39d1fa24bd93badc5d"/>
+ <link rel="stylesheet" href="/assets/css/style.css?v=a5baafbc722707c67aa6887b8c329cac4fb1a8fe"/>
<script src="assets/js/pace.min.js"></script>
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicons/apple-touch-icon.png"/>
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicons/favicon-32x32.png"/>
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicons/favicon-16x16.png"/>
@@ -42,69 +42,81 @@
</section>
<section class="main-content">
<!-- contains complete RPSG code -->
-<h1 id="master-code">Master Code</h1>
+<h1 id="complete-code">Complete Code</h1>
<ul id="markdown-toc">
- <li><a href="#master-code" id="markdown-toc-master-code">Master Code</a></li>
+ <li><a href="#complete-code" id="markdown-toc-complete-code">Complete Code</a></li>
</ul>
<blockquote>
- <p>The master code will look like this:</p>
+ <p>The complete code will look like this:</p>
</blockquote>
<div class="highlighter-rouge"><pre class="highlight"><code>% rpsg
</code></pre>
</div>
<div class="language-ruby highlighter-rouge"><pre class="highlight"><code><span class="c1">#!/usr/bin/env ruby</span>
<span class="cm">=begin
-|==============|
-| Req Ruby Ver |
-|--------------|
-| >= v2.0.0 |
-|==============|
+|====================================|
+| Req Ruby Ver | Req Ruby Gems Ver |
+|--------------|---------------------|
+| >= v2.0.0 | >= v2.6.0 |
+|====================================|
=end</span>
<span class="c1"># create master class for rpsg</span>
<span class="k">class</span> <span class="nc">RockPaperScissorsGame</span>
+ <span class="c1"># specify the version for the rubygem</span>
+ <span class="k">module</span> <span class="nn">RPSG</span>
+ <span class="c1"># create version constant for the rubygem</span>
+ <span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"0.3.3"</span>
+ <span class="k">end</span>
+
<span class="c1"># create module that holds all contents for this script</span>
<span class="k">module</span> <span class="nn">Constants</span>
<span class="c1"># create 2d list of choices</span>
+ <span class="kp">protected</span>
<span class="no">CHOICES</span> <span class="o">=</span> <span class="p">[[</span><span class="s1">'r'</span><span class="p">,</span> <span class="s1">'rock'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'p'</span><span class="p">,</span> <span class="s1">'paper'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'s'</span><span class="p">,</span> <span class="s1">'scissors'</span><span class="p">]]</span>
<span class="c1"># define entry to symbol (key to value)</span>
+ <span class="kp">protected</span>
<span class="no">NTRY_TO_SYM</span> <span class="o">=</span> <span class="p">{</span>
<span class="no">CHOICES</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:ROCK</span> <span class="p">,</span> <span class="no">CHOICES</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:ROCK</span> <span class="p">,</span>
<span class="no">CHOICES</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:PAPER</span> <span class="p">,</span> <span class="no">CHOICES</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:PAPER</span> <span class="p">,</span>
<span class="no">CHOICES</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:SCISSORS</span><span class="p">,</span> <span class="no">CHOICES</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=></span> <span class="ss">:SCISSORS</span>
<span class="p">}</span>
<span class="c1"># define valid entries</span>
+ <span class="kp">protected</span>
<span class="no">VALID_ENTRIES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">keys</span>
<span class="c1"># define computer choices</span>
+ <span class="kp">protected</span>
<span class="no">COMPUTER_CHOICES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">values</span>
<span class="c1"># create winners 2d list array with format: winning choice, losing choice</span>
+ <span class="kp">protected</span>
<span class="no">WINNERS</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">[</span><span class="ss">:SCISSORS</span><span class="p">,</span> <span class="ss">:PAPER</span> <span class="p">],</span>
<span class="p">[</span><span class="ss">:PAPER</span> <span class="p">,</span> <span class="ss">:ROCK</span> <span class="p">],</span>
<span class="p">[</span><span class="ss">:ROCK</span> <span class="p">,</span> <span class="ss">:SCISSORS</span><span class="p">]</span>
<span class="p">]</span>
<span class="c1"># this will take the original WINNERS array and flip the symbols, thus returning a loss for the user/player</span>
+ <span class="kp">protected</span>
<span class="no">LOSERS</span> <span class="o">=</span> <span class="no">WINNERS</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="o">|</span><span class="n">winning_choice</span><span class="p">,</span><span class="n">losing_choice</span><span class="o">|</span> <span class="p">[</span><span class="n">losing_choice</span><span class="p">,</span><span class="n">winning_choice</span><span class="p">]</span> <span class="p">}</span>
<span class="k">end</span>
- <span class="nb">protected_methods</span> <span class="ss">:Constants</span>
+ <span class="c1"># protected_methods :Constants</span>
<span class="k">class</span> <span class="o"><<</span> <span class="nb">self</span>
<span class="c1"># add continue method for asking the user if they want to play rock paper scissors</span>
<span class="k">def</span> <span class="nf">continue</span><span class="p">(</span><span class="n">str1</span><span class="p">,</span><span class="n">str2</span><span class="p">,</span><span class="n">str3</span><span class="p">)</span>
<span class="nb">puts</span> <span class="n">str1</span>
@@ -147,19 +159,21 @@
<span class="k">end</span>
<span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">Final score: player: </span><span class="si">#{</span><span class="vi">@player_score</span><span class="si">}</span><span class="s2">, "</span> <span class="o">+</span>
<span class="s2">"computer: </span><span class="si">#{</span><span class="vi">@computer_score</span><span class="si">}</span><span class="s2"> (ties: </span><span class="si">#{</span><span class="vi">@ties</span><span class="si">}</span><span class="s2">).</span><span class="se">\n</span><span class="s2">"</span>
<span class="k">case</span> <span class="no">PrivateMethods</span><span class="p">.</span><span class="nf">final_outcome</span><span class="p">(</span><span class="vi">@player_score</span><span class="p">,</span> <span class="vi">@computer_score</span><span class="p">)</span>
<span class="k">when</span> <span class="ss">:WIN</span>
- <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">Player wins!"</span>
+ <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">Player wins!</span><span class="se">\n</span><span class="s2">"</span>
<span class="k">when</span> <span class="ss">:LOSE</span>
- <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">Computer wins!"</span>
+ <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">Computer wins!</span><span class="se">\n</span><span class="s2">"</span>
<span class="k">else</span>
- <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">It's a tie!"</span>
+ <span class="nb">puts</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">It's a tie!</span><span class="se">\n</span><span class="s2">"</span>
<span class="k">end</span>
+ <span class="nb">print</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">[press any key to exit game]"</span>
<span class="nb">gets</span>
<span class="k">end</span>
+ <span class="kp">private</span>
<span class="c1"># add module for private methods for the rpsg calculations</span>
<span class="k">module</span> <span class="nn">PrivateMethods</span>
<span class="k">class</span> <span class="o"><<</span> <span class="nb">self</span>
<span class="c1"># make a definition that asks for the players choice</span>
<span class="k">def</span> <span class="nf">player_choice</span>
@@ -195,13 +209,13 @@
<span class="k">return</span> <span class="ss">:TIE</span> <span class="k">if</span> <span class="n">pl</span> <span class="o">=</span> <span class="n">co</span>
<span class="c1"># there will never be a tie for the final outcome due to the code in the play() method</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="k">end</span>
-
+ <span class="kp">public</span>
- <span class="nb">private_methods</span> <span class="ss">:PrivateMethods</span>
+ <span class="c1"># private_methods :PrivateMethods</span>
<span class="k">end</span>
<span class="no">RockPaperScissorsGame</span><span class="p">.</span><span class="nf">new</span><span class="p">.</span><span class="nf">play</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># best out of 3</span>
@@ -218,10 +232,10 @@
<td><a href="./">Home</a></td>
<td><a href="readme">README File</a></td>
<td><a href="install">Install</a></td>
<td><a href="update">Update</a></td>
<td><a href="uninstall">Uninstall</a></td>
- <td><a href="code">Master Code</a></td>
+ <td><a href="code">Full Code</a></td>
<td><a href="simple">Simple Code</td>
<td><a href="bundler">Bundler</a></td>
</tr>
</table>
<br/>