rpsg 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
```
|