rpsg 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/README.md +2 -0
- data/Rakefile +6 -2
- data/doc/created.rid +2 -2
- data/doc/js/search_index.js.gz +0 -0
- data/docs/Gemfile +4 -0
- data/docs/LICENSE +116 -0
- data/docs/README.md +44 -0
- data/docs/_config.yml +37 -0
- data/docs/_includes/footer.html +16 -0
- data/docs/_includes/header.html +19 -0
- data/docs/_layouts/default.html +50 -0
- data/docs/_sass/jekyll-theme-cayman.scss +346 -0
- data/docs/_sass/normalize.scss +424 -0
- data/docs/_sass/pace.sass +278 -0
- data/docs/_sass/rouge-github.scss +209 -0
- data/docs/_sass/variables.scss +23 -0
- data/docs/_site/assets/css/style.css +1 -0
- data/docs/_site/assets/favicons/android-chrome-192x192.png +0 -0
- data/docs/_site/assets/favicons/android-chrome-256x256.png +0 -0
- data/docs/_site/assets/favicons/apple-touch-icon.png +0 -0
- data/docs/_site/assets/favicons/browserconfig.xml +9 -0
- data/docs/_site/assets/favicons/favicon-16x16.png +0 -0
- data/docs/_site/assets/favicons/favicon-32x32.png +0 -0
- data/docs/_site/assets/favicons/favicon.ico +0 -0
- data/docs/_site/assets/favicons/manifest.json +18 -0
- data/docs/_site/assets/favicons/mstile-150x150.png +0 -0
- data/docs/_site/assets/favicons/safari-pinned-tab.svg +17 -0
- data/docs/_site/assets/js/pace.min.js +2 -0
- data/docs/_site/code.html +227 -0
- data/docs/_site/index.html +72 -0
- data/docs/_site/readme.html +112 -0
- data/docs/_site/simple.html +99 -0
- data/docs/assets/css/style.scss +4 -0
- data/docs/assets/favicons/android-chrome-192x192.png +0 -0
- data/docs/assets/favicons/android-chrome-256x256.png +0 -0
- data/docs/assets/favicons/apple-touch-icon.png +0 -0
- data/docs/assets/favicons/browserconfig.xml +9 -0
- data/docs/assets/favicons/favicon-16x16.png +0 -0
- data/docs/assets/favicons/favicon-32x32.png +0 -0
- data/docs/assets/favicons/favicon.ico +0 -0
- data/docs/assets/favicons/manifest.json +18 -0
- data/docs/assets/favicons/mstile-150x150.png +0 -0
- data/docs/assets/favicons/safari-pinned-tab.svg +17 -0
- data/docs/assets/js/pace.min.js +2 -0
- data/docs/code.md +164 -0
- data/docs/index.md +12 -0
- data/docs/jekyll-theme-cayman.gemspec +18 -0
- data/docs/script/bootstrap +6 -0
- data/docs/script/cibuild +6 -0
- data/docs/script/release +42 -0
- data/docs/script/server +3 -0
- data/docs/simple.md +38 -0
- data/docs/thumbnail.png +0 -0
- data/lib/Main.rb +1 -1
- data/lib/rpsg/version.rb +1 -1
- data/rpsg.gemspec +8 -7
- data/test/test_rpsg.rb +6 -0
- metadata +77 -27
- data/test/rpsg.rb +0 -2
@@ -0,0 +1,72 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en-us">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8"/>
|
5
|
+
<title>RPSG</title>
|
6
|
+
<meta name="description" content="A Ruby Programmed Rock Paper Scissors Game"/>
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
8
|
+
<meta name="theme-color" content="#157878"/>
|
9
|
+
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css' />
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=3aded72861f44bc559cac4e50d5ad710eed9446d"/>
|
11
|
+
<script src="assets/js/pace.min.js"></script>
|
12
|
+
|
13
|
+
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicons/apple-touch-icon.png"/>
|
14
|
+
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicons/favicon-32x32.png"/>
|
15
|
+
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicons/favicon-16x16.png"/>
|
16
|
+
<link rel="manifest" href="assets/favicons/manifest.json"/>
|
17
|
+
<link rel="mask-icon" href="assets/favicons/safari-pinned-tab.svg" color="#5bbad5"/>
|
18
|
+
<!--
|
19
|
+
<meta name="theme-color" content="#ffffff">
|
20
|
+
-->
|
21
|
+
</head>
|
22
|
+
<body>
|
23
|
+
|
24
|
+
<section class="page-header">
|
25
|
+
<h1 class="project-name">Rock Paper Scissors Game</h1>
|
26
|
+
<h2 class="project-tagline">A Ruby Programmed Rock Paper Scissors Game</h2>
|
27
|
+
|
28
|
+
<a href="http://github.com/bag3318/RPSG" class="btn">View on GitHub</a>
|
29
|
+
<a href="http://github.com/bag3318/RPSG/issues" class="btn">Report a Bug</a>
|
30
|
+
|
31
|
+
|
32
|
+
<a href="http://github.com/bag3318/RPSG/zipball/gh-pages" class="btn">Download .zip</a>
|
33
|
+
<a href="http://github.com/bag3318/RPSG/tarball/gh-pages" class="btn">Download .tar.gz</a>
|
34
|
+
|
35
|
+
<br/>
|
36
|
+
|
37
|
+
<a href="#site-nav" class="btn">Site Navigation</a>
|
38
|
+
|
39
|
+
|
40
|
+
<a href="./" class="btn">Home</a>
|
41
|
+
|
42
|
+
</section>
|
43
|
+
<section class="main-content">
|
44
|
+
|
45
|
+
<h1 id="rock-paper-scissors-game">Rock Paper Scissors Game</h1>
|
46
|
+
|
47
|
+
<p>Welcome to my <strong>RPSG</strong> home site. I created my <code class="highlighter-rouge">RPSG</code> gem with <strong>Ruby</strong>, the programming language.
|
48
|
+
Please Enjoy! :)</p>
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
<footer class="site-footer">
|
53
|
+
|
54
|
+
<h2 id="site-nav">Site Navigation</h2>
|
55
|
+
<table>
|
56
|
+
<tr>
|
57
|
+
<td><a href="./">Home</a></td>
|
58
|
+
<td><a href="readme">README.md</a></td>
|
59
|
+
<td><a href="code">Master Code</a></td>
|
60
|
+
<td><a href="simple">Simple Code</td>
|
61
|
+
</tr>
|
62
|
+
</table>
|
63
|
+
<br/>
|
64
|
+
<hr/>
|
65
|
+
<span class="site-footer-owner"><a href="http://github.com/bag3318/RPSG">RPSG</a> is maintained by <a href="http://github.com/bag3318">bag3318</a>.</span><span><strong><a href="http://github.com/bag3318/RPSG">Source Code</a></strong></span>
|
66
|
+
|
67
|
+
</footer>
|
68
|
+
</section>
|
69
|
+
|
70
|
+
|
71
|
+
</body>
|
72
|
+
</html>
|
@@ -0,0 +1,112 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en-us">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8"/>
|
5
|
+
<title>README</title>
|
6
|
+
<meta name="description" content="A Ruby Programmed Rock Paper Scissors Game"/>
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
8
|
+
<meta name="theme-color" content="#157878"/>
|
9
|
+
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css' />
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=3aded72861f44bc559cac4e50d5ad710eed9446d"/>
|
11
|
+
<script src="assets/js/pace.min.js"></script>
|
12
|
+
|
13
|
+
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicons/apple-touch-icon.png"/>
|
14
|
+
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicons/favicon-32x32.png"/>
|
15
|
+
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicons/favicon-16x16.png"/>
|
16
|
+
<link rel="manifest" href="assets/favicons/manifest.json"/>
|
17
|
+
<link rel="mask-icon" href="assets/favicons/safari-pinned-tab.svg" color="#5bbad5"/>
|
18
|
+
<!--
|
19
|
+
<meta name="theme-color" content="#ffffff">
|
20
|
+
-->
|
21
|
+
</head>
|
22
|
+
<body>
|
23
|
+
|
24
|
+
<section class="page-header">
|
25
|
+
<h1 class="project-name">Rock Paper Scissors Game</h1>
|
26
|
+
<h2 class="project-tagline">A Ruby Programmed Rock Paper Scissors Game</h2>
|
27
|
+
|
28
|
+
<a href="http://github.com/bag3318/RPSG" class="btn">View on GitHub</a>
|
29
|
+
<a href="http://github.com/bag3318/RPSG/issues" class="btn">Report a Bug</a>
|
30
|
+
|
31
|
+
|
32
|
+
<a href="http://github.com/bag3318/RPSG/zipball/gh-pages" class="btn">Download .zip</a>
|
33
|
+
<a href="http://github.com/bag3318/RPSG/tarball/gh-pages" class="btn">Download .tar.gz</a>
|
34
|
+
|
35
|
+
<br/>
|
36
|
+
|
37
|
+
<a href="#site-nav" class="btn">Site Navigation</a>
|
38
|
+
|
39
|
+
|
40
|
+
<a href="./" class="btn">Home</a>
|
41
|
+
|
42
|
+
</section>
|
43
|
+
<section class="main-content">
|
44
|
+
|
45
|
+
<h1 id="rpsg-rock-paper-scissors-game">RPSG (Rock Paper Scissors Game)</h1>
|
46
|
+
|
47
|
+
<h2 id="requirements">Requirements</h2>
|
48
|
+
|
49
|
+
<h3 id="for-windows">For Windows</h3>
|
50
|
+
|
51
|
+
<ul>
|
52
|
+
<li>Ruby</li>
|
53
|
+
<li>RubyGems</li>
|
54
|
+
</ul>
|
55
|
+
|
56
|
+
<h3 id="for-mac">For Mac</h3>
|
57
|
+
|
58
|
+
<ul>
|
59
|
+
<li>Ruby</li>
|
60
|
+
<li>RubyGems</li>
|
61
|
+
<li>RVM (Ruby Version Manager)</li>
|
62
|
+
</ul>
|
63
|
+
|
64
|
+
<h2 id="how-to-use">How To Use</h2>
|
65
|
+
|
66
|
+
<h3 id="windows">Windows</h3>
|
67
|
+
|
68
|
+
<ol>
|
69
|
+
<li>Open <code class="highlighter-rouge">cmd</code> as non-admin
|
70
|
+
<ul>
|
71
|
+
<li><code class="highlighter-rouge">cmd</code> is the <code class="highlighter-rouge">Command Prompt</code></li>
|
72
|
+
</ul>
|
73
|
+
</li>
|
74
|
+
<li>type the following: <code class="highlighter-rouge">gem install rpsg</code></li>
|
75
|
+
<li>run the following: <code class="highlighter-rouge">rpsg</code></li>
|
76
|
+
</ol>
|
77
|
+
|
78
|
+
<h3 id="mac">Mac</h3>
|
79
|
+
|
80
|
+
<ol>
|
81
|
+
<li>Open <code class="highlighter-rouge">Terminal</code></li>
|
82
|
+
<li>type the following: <code class="highlighter-rouge">gem install rpsg</code></li>
|
83
|
+
<li>run the following: <code class="highlighter-rouge">rpsg</code></li>
|
84
|
+
</ol>
|
85
|
+
|
86
|
+
<hr />
|
87
|
+
|
88
|
+
<p>RubyGems page: <a href="https://rubygems.org/gems/rpsg" target="_blank">https://rubygems.org/gems/rpsg</a></p>
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
<footer class="site-footer">
|
93
|
+
|
94
|
+
<h2 id="site-nav">Site Navigation</h2>
|
95
|
+
<table>
|
96
|
+
<tr>
|
97
|
+
<td><a href="./">Home</a></td>
|
98
|
+
<td><a href="readme">README.md</a></td>
|
99
|
+
<td><a href="code">Master Code</a></td>
|
100
|
+
<td><a href="simple">Simple Code</td>
|
101
|
+
</tr>
|
102
|
+
</table>
|
103
|
+
<br/>
|
104
|
+
<hr/>
|
105
|
+
<span class="site-footer-owner"><a href="http://github.com/bag3318/RPSG">RPSG</a> is maintained by <a href="http://github.com/bag3318">bag3318</a>.</span><span><strong><a href="http://github.com/bag3318/RPSG">Source Code</a></strong></span>
|
106
|
+
|
107
|
+
</footer>
|
108
|
+
</section>
|
109
|
+
|
110
|
+
|
111
|
+
</body>
|
112
|
+
</html>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en-us">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8"/>
|
5
|
+
<title>Simple Code</title>
|
6
|
+
<meta name="description" content="A Ruby Programmed Rock Paper Scissors Game"/>
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
8
|
+
<meta name="theme-color" content="#157878"/>
|
9
|
+
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css' />
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=3aded72861f44bc559cac4e50d5ad710eed9446d"/>
|
11
|
+
<script src="assets/js/pace.min.js"></script>
|
12
|
+
|
13
|
+
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicons/apple-touch-icon.png"/>
|
14
|
+
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicons/favicon-32x32.png"/>
|
15
|
+
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicons/favicon-16x16.png"/>
|
16
|
+
<link rel="manifest" href="assets/favicons/manifest.json"/>
|
17
|
+
<link rel="mask-icon" href="assets/favicons/safari-pinned-tab.svg" color="#5bbad5"/>
|
18
|
+
<!--
|
19
|
+
<meta name="theme-color" content="#ffffff">
|
20
|
+
-->
|
21
|
+
</head>
|
22
|
+
<body>
|
23
|
+
|
24
|
+
<section class="page-header">
|
25
|
+
<h1 class="project-name">Rock Paper Scissors Game</h1>
|
26
|
+
<h2 class="project-tagline">A Ruby Programmed Rock Paper Scissors Game</h2>
|
27
|
+
|
28
|
+
<a href="http://github.com/bag3318/RPSG" class="btn">View on GitHub</a>
|
29
|
+
<a href="http://github.com/bag3318/RPSG/issues" class="btn">Report a Bug</a>
|
30
|
+
|
31
|
+
|
32
|
+
<a href="http://github.com/bag3318/RPSG/zipball/gh-pages" class="btn">Download .zip</a>
|
33
|
+
<a href="http://github.com/bag3318/RPSG/tarball/gh-pages" class="btn">Download .tar.gz</a>
|
34
|
+
|
35
|
+
<br/>
|
36
|
+
|
37
|
+
<a href="#site-nav" class="btn">Site Navigation</a>
|
38
|
+
|
39
|
+
|
40
|
+
<a href="./" class="btn">Home</a>
|
41
|
+
|
42
|
+
</section>
|
43
|
+
<section class="main-content">
|
44
|
+
|
45
|
+
<blockquote>
|
46
|
+
<p>This is what a beginner’s RPS code might look like</p>
|
47
|
+
</blockquote>
|
48
|
+
|
49
|
+
<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">options</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"rock"</span><span class="p">,</span> <span class="s2">"paper"</span><span class="p">,</span> <span class="s2">"scissors"</span><span class="p">]</span>
|
50
|
+
<span class="n">computer_choice</span> <span class="o">=</span> <span class="n">options</span><span class="p">[</span><span class="nb">rand</span><span class="p">(</span><span class="n">options</span><span class="p">.</span><span class="nf">length</span><span class="p">)]</span>
|
51
|
+
<span class="nb">puts</span> <span class="s2">"What's your choice?"</span>
|
52
|
+
<span class="nb">puts</span> <span class="s2">"rock, paper, or scissors"</span>
|
53
|
+
<span class="n">user_input</span> <span class="o">=</span> <span class="nb">gets</span><span class="p">.</span><span class="nf">chomp</span><span class="p">.</span><span class="nf">downcase</span> <span class="c1"># read user input and convert to lower case</span>
|
54
|
+
<span class="kp">loop</span> <span class="k">do</span>
|
55
|
+
<span class="k">if</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"rock"</span> <span class="o">||</span> <span class="n">user_input</span> <span class="o">==</span> <span class="s2">"paper"</span> <span class="o">||</span> <span class="n">user_input</span> <span class="o">==</span> <span class="s2">"scissors"</span><span class="p">)</span>
|
56
|
+
<span class="k">if</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="n">computer_choice</span><span class="p">)</span>
|
57
|
+
<span class="nb">puts</span> <span class="s2">"We got the same, let's keep playing!"</span>
|
58
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"rock"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"scissors"</span><span class="p">)</span>
|
59
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", you win! :)"</span>
|
60
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"rock"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"paper"</span><span class="p">)</span>
|
61
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", computer wins :("</span>
|
62
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"paper"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"scissors"</span><span class="p">)</span>
|
63
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", computer wins :("</span>
|
64
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"paper"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"rock"</span><span class="p">)</span>
|
65
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", you win! :)"</span>
|
66
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"scissors"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"rock"</span><span class="p">)</span>
|
67
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", computer wins :("</span>
|
68
|
+
<span class="k">elsif</span> <span class="p">(</span><span class="n">user_input</span> <span class="o">==</span> <span class="s2">"scissors"</span> <span class="o">&&</span> <span class="n">computer_choice</span> <span class="o">==</span> <span class="s2">"paper"</span><span class="p">)</span>
|
69
|
+
<span class="nb">puts</span> <span class="s2">"computer choice is: "</span> <span class="o">+</span> <span class="n">computer_choice</span> <span class="o">+</span> <span class="s2">", you win! :)"</span>
|
70
|
+
<span class="k">end</span>
|
71
|
+
<span class="k">else</span>
|
72
|
+
<span class="nb">puts</span> <span class="s2">"Invalid choice, enter Rock, Paper, or Scissors"</span>
|
73
|
+
<span class="k">end</span>
|
74
|
+
<span class="k">break</span>
|
75
|
+
<span class="k">end</span></code></pre></figure>
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<footer class="site-footer">
|
80
|
+
|
81
|
+
<h2 id="site-nav">Site Navigation</h2>
|
82
|
+
<table>
|
83
|
+
<tr>
|
84
|
+
<td><a href="./">Home</a></td>
|
85
|
+
<td><a href="readme">README.md</a></td>
|
86
|
+
<td><a href="code">Master Code</a></td>
|
87
|
+
<td><a href="simple">Simple Code</td>
|
88
|
+
</tr>
|
89
|
+
</table>
|
90
|
+
<br/>
|
91
|
+
<hr/>
|
92
|
+
<span class="site-footer-owner"><a href="http://github.com/bag3318/RPSG">RPSG</a> is maintained by <a href="http://github.com/bag3318">bag3318</a>.</span><span><strong><a href="http://github.com/bag3318/RPSG">Source Code</a></strong></span>
|
93
|
+
|
94
|
+
</footer>
|
95
|
+
</section>
|
96
|
+
|
97
|
+
|
98
|
+
</body>
|
99
|
+
</html>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"name": "",
|
3
|
+
"icons": [
|
4
|
+
{
|
5
|
+
"src": "/android-chrome-192x192.png",
|
6
|
+
"sizes": "192x192",
|
7
|
+
"type": "image/png"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"src": "/android-chrome-256x256.png",
|
11
|
+
"sizes": "256x256",
|
12
|
+
"type": "image/png"
|
13
|
+
}
|
14
|
+
],
|
15
|
+
"theme_color": "#ffffff",
|
16
|
+
"background_color": "#ffffff",
|
17
|
+
"display": "standalone"
|
18
|
+
}
|
Binary file
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5
|
+
width="256.000000pt" height="256.000000pt" viewBox="0 0 256.000000 256.000000"
|
6
|
+
preserveAspectRatio="xMidYMid meet">
|
7
|
+
<metadata>
|
8
|
+
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
9
|
+
</metadata>
|
10
|
+
<g transform="translate(0.000000,256.000000) scale(0.100000,-0.100000)"
|
11
|
+
fill="#000000" stroke="none">
|
12
|
+
<path d="M72 2543 c-19 -9 -41 -32 -53 -54 -18 -37 -19 -70 -19 -1209 0 -1256
|
13
|
+
-2 -1209 50 -1255 22 -20 38 -20 1214 -23 655 -1 1200 0 1212 2 29 8 61 38 74
|
14
|
+
70 7 18 10 416 10 1209 0 1168 0 1182 -20 1215 -40 65 29 62 -1262 62 -1064 0
|
15
|
+
-1176 -2 -1206 -17z"/>
|
16
|
+
</g>
|
17
|
+
</svg>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! pace 1.0.0 */
|
2
|
+
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];c<this.bindings[a].length;)e.push(this.bindings[a][c].handler===b?this.bindings[a].splice(c,1):c++);return e}},a.prototype.trigger=function(){var a,b,c,d,e,f,g,h,i;if(c=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],null!=(g=this.bindings)?g[c]:void 0){for(e=0,i=[];e<this.bindings[c].length;)h=this.bindings[c][e],d=h.handler,b=h.ctx,f=h.once,d.apply(null!=b?b:this,a),i.push(f?this.bindings[c].splice(e,1):e++);return i}},a}(),j=window.Pace||{},window.Pace=j,v(j,g.prototype),D=j.options=v({},u,window.paceOptions,x()),U=["ajax","document","eventLag","elements"],Q=0,S=U.length;S>Q;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a<D.eventLag.lagThreshold?(f.progress=100,clearInterval(b)):f.progress=100*(3/(a+3))},50)}return a}(),m=function(){function a(a){this.source=a,this.last=this.sinceLastUpdate=0,this.rate=D.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=F(this.source,"progress"))}return a.prototype.tick=function(a,b){var c;return null==b&&(b=F(this.source,"progress")),b>=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this);
|
data/docs/code.md
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
permalink: /code.html
|
4
|
+
tite: "Master Code"
|
5
|
+
---
|
6
|
+
|
7
|
+
# Master Code
|
8
|
+
|
9
|
+
> the master code will look like this:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
#!/usr/bin/env ruby
|
13
|
+
|
14
|
+
=begin
|
15
|
+
|====================================|
|
16
|
+
| Req Ruby Ver | Req Ruby Gems Ver |
|
17
|
+
|--------------|---------------------|
|
18
|
+
| >= v2.0.0 | >= v2.6.0 |
|
19
|
+
|====================================|
|
20
|
+
=end
|
21
|
+
|
22
|
+
# create master class for rpsg
|
23
|
+
class RockPaperScissorsGame
|
24
|
+
|
25
|
+
# specify the version for the rubygem
|
26
|
+
module RPSG
|
27
|
+
# create version constant for the rubygem
|
28
|
+
VERSION = "0.2.5"
|
29
|
+
end
|
30
|
+
|
31
|
+
# create module that holds all contents for this script
|
32
|
+
module Constants
|
33
|
+
|
34
|
+
# create 2d list of choices
|
35
|
+
CHOICES = [['r', 'rock'], ['p', 'paper'], ['s', 'scissors']]
|
36
|
+
|
37
|
+
# define entry to symbol (key to value)
|
38
|
+
NTRY_TO_SYM = {
|
39
|
+
CHOICES[0][0] => :ROCK , CHOICES[0][1] => :ROCK ,
|
40
|
+
CHOICES[1][0] => :PAPER , CHOICES[1][1] => :PAPER ,
|
41
|
+
CHOICES[2][0] => :SCISSORS, CHOICES[2][1] => :SCISSORS
|
42
|
+
}
|
43
|
+
|
44
|
+
# define valid entries
|
45
|
+
VALID_ENTRIES = NTRY_TO_SYM.keys
|
46
|
+
|
47
|
+
# define computer choices
|
48
|
+
COMPUTER_CHOICES = NTRY_TO_SYM.values
|
49
|
+
|
50
|
+
# create winners 2d list array with format: winning choice, losing choice
|
51
|
+
WINNERS = [
|
52
|
+
[:SCISSORS, :PAPER ],
|
53
|
+
[:PAPER , :ROCK ],
|
54
|
+
[:ROCK , :SCISSORS]
|
55
|
+
]
|
56
|
+
|
57
|
+
# this will take the original WINNERS array and flip the symbols, thus returning a loss for the user/player
|
58
|
+
LOSERS = WINNERS.map { |winning_choice,losing_choice| [losing_choice,winning_choice] }
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
protected_methods :Constants
|
63
|
+
|
64
|
+
class << self
|
65
|
+
# add continue method for asking the user if they want to play rock paper scissors
|
66
|
+
def continue(str1,str2,str3)
|
67
|
+
puts str1
|
68
|
+
print str2
|
69
|
+
gets
|
70
|
+
puts str3
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# print out strings
|
75
|
+
continue("You are about to enter a rock-paper-scissors best of 3 match.", "Press the return/enter key to continue...", "")
|
76
|
+
|
77
|
+
# initialize variables
|
78
|
+
def initialize
|
79
|
+
# initialize variables and set all equal to zero
|
80
|
+
@player_score = @computer_score = @ties = 0
|
81
|
+
end
|
82
|
+
|
83
|
+
# define play method, this will be the main function for playing rock paper scissors
|
84
|
+
def play(winning_score)
|
85
|
+
# make while loop
|
86
|
+
while @player_score < winning_score && @computer_score < winning_score
|
87
|
+
puts "Player score: #{@player_score}, " +
|
88
|
+
"Computer score: #{@computer_score}, Ties: #{@ties}.\n"
|
89
|
+
player = PrivateMethods.player_choice
|
90
|
+
computer = Constants::COMPUTER_CHOICES.sample # chooses a random option
|
91
|
+
puts "\nPlayer chooses #{player.to_s.downcase}."
|
92
|
+
puts "Computer chooses #{computer.to_s.downcase}.\n"
|
93
|
+
case PrivateMethods.player_outcome [player, computer]
|
94
|
+
when :WIN
|
95
|
+
puts "\n#{player.to_s.capitalize} beats #{computer.to_s.downcase}, player wins the round.\n"
|
96
|
+
@player_score += 1
|
97
|
+
when :LOSE
|
98
|
+
puts "\n#{computer.to_s.capitalize} beats #{player.to_s.downcase}, computer wins the round.\n"
|
99
|
+
@computer_score += 1
|
100
|
+
else
|
101
|
+
puts "\nTie, choose again\n"
|
102
|
+
@ties += 1
|
103
|
+
end
|
104
|
+
end
|
105
|
+
puts "\nFinal score: player: #{@player_score}, " +
|
106
|
+
"computer: #{@computer_score} (ties: #{@ties}).\n"
|
107
|
+
case PrivateMethods.final_outcome(@player_score, @computer_score)
|
108
|
+
when :WIN
|
109
|
+
puts "\nPlayer wins!"
|
110
|
+
when :LOSE
|
111
|
+
puts "\nComputer wins!"
|
112
|
+
else
|
113
|
+
puts "\nIt's a tie!"
|
114
|
+
end
|
115
|
+
gets
|
116
|
+
end
|
117
|
+
|
118
|
+
# add module for private methods for the rpsg calculations
|
119
|
+
module PrivateMethods
|
120
|
+
class << self
|
121
|
+
# make a definition that asks for the players choice
|
122
|
+
def player_choice
|
123
|
+
loop do
|
124
|
+
print "\nChoose: Rock (r), Paper (p), or Scissors (s): "
|
125
|
+
choice = gets.chomp.downcase
|
126
|
+
if Constants::NTRY_TO_SYM.key?(choice)
|
127
|
+
return Constants::NTRY_TO_SYM[choice]
|
128
|
+
elsif choice != Constants::VALID_ENTRIES
|
129
|
+
puts "\nThat entry is invalid. Please re-enter.\n"
|
130
|
+
else
|
131
|
+
return nil
|
132
|
+
end
|
133
|
+
# # one may also do this:
|
134
|
+
# case
|
135
|
+
# when Constants::NTRY_TO_SYM.key?(choice)
|
136
|
+
# return Constants::NTRY_TO_SYM[choice]
|
137
|
+
# when choice != Constants::VALID_ENTRIES
|
138
|
+
# puts "That entry is invalid. Please re-enter."
|
139
|
+
# end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
# define outcomes of players choice against cpu
|
143
|
+
def player_outcome(plays)
|
144
|
+
return :WIN if Constants::WINNERS.include?(plays)
|
145
|
+
return :LOSE if Constants::LOSERS.include?(plays)
|
146
|
+
return :TIE if !:WIN | !:LOSE
|
147
|
+
end
|
148
|
+
# define final outcome that gives the result of who one the whole match
|
149
|
+
def final_outcome(pl,co)
|
150
|
+
return :WIN if pl > co
|
151
|
+
return :LOSE if pl < co
|
152
|
+
return :TIE if pl = co
|
153
|
+
# there will never be a tie for the final outcome due to the code in the play() method
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
|
159
|
+
private_methods :PrivateMethods
|
160
|
+
|
161
|
+
end
|
162
|
+
|
163
|
+
RockPaperScissorsGame.new.play(2) # best out of 3
|
164
|
+
```
|