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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/README.md +2 -0
  4. data/Rakefile +6 -2
  5. data/doc/created.rid +2 -2
  6. data/doc/js/search_index.js.gz +0 -0
  7. data/docs/Gemfile +4 -0
  8. data/docs/LICENSE +116 -0
  9. data/docs/README.md +44 -0
  10. data/docs/_config.yml +37 -0
  11. data/docs/_includes/footer.html +16 -0
  12. data/docs/_includes/header.html +19 -0
  13. data/docs/_layouts/default.html +50 -0
  14. data/docs/_sass/jekyll-theme-cayman.scss +346 -0
  15. data/docs/_sass/normalize.scss +424 -0
  16. data/docs/_sass/pace.sass +278 -0
  17. data/docs/_sass/rouge-github.scss +209 -0
  18. data/docs/_sass/variables.scss +23 -0
  19. data/docs/_site/assets/css/style.css +1 -0
  20. data/docs/_site/assets/favicons/android-chrome-192x192.png +0 -0
  21. data/docs/_site/assets/favicons/android-chrome-256x256.png +0 -0
  22. data/docs/_site/assets/favicons/apple-touch-icon.png +0 -0
  23. data/docs/_site/assets/favicons/browserconfig.xml +9 -0
  24. data/docs/_site/assets/favicons/favicon-16x16.png +0 -0
  25. data/docs/_site/assets/favicons/favicon-32x32.png +0 -0
  26. data/docs/_site/assets/favicons/favicon.ico +0 -0
  27. data/docs/_site/assets/favicons/manifest.json +18 -0
  28. data/docs/_site/assets/favicons/mstile-150x150.png +0 -0
  29. data/docs/_site/assets/favicons/safari-pinned-tab.svg +17 -0
  30. data/docs/_site/assets/js/pace.min.js +2 -0
  31. data/docs/_site/code.html +227 -0
  32. data/docs/_site/index.html +72 -0
  33. data/docs/_site/readme.html +112 -0
  34. data/docs/_site/simple.html +99 -0
  35. data/docs/assets/css/style.scss +4 -0
  36. data/docs/assets/favicons/android-chrome-192x192.png +0 -0
  37. data/docs/assets/favicons/android-chrome-256x256.png +0 -0
  38. data/docs/assets/favicons/apple-touch-icon.png +0 -0
  39. data/docs/assets/favicons/browserconfig.xml +9 -0
  40. data/docs/assets/favicons/favicon-16x16.png +0 -0
  41. data/docs/assets/favicons/favicon-32x32.png +0 -0
  42. data/docs/assets/favicons/favicon.ico +0 -0
  43. data/docs/assets/favicons/manifest.json +18 -0
  44. data/docs/assets/favicons/mstile-150x150.png +0 -0
  45. data/docs/assets/favicons/safari-pinned-tab.svg +17 -0
  46. data/docs/assets/js/pace.min.js +2 -0
  47. data/docs/code.md +164 -0
  48. data/docs/index.md +12 -0
  49. data/docs/jekyll-theme-cayman.gemspec +18 -0
  50. data/docs/script/bootstrap +6 -0
  51. data/docs/script/cibuild +6 -0
  52. data/docs/script/release +42 -0
  53. data/docs/script/server +3 -0
  54. data/docs/simple.md +38 -0
  55. data/docs/thumbnail.png +0 -0
  56. data/lib/Main.rb +1 -1
  57. data/lib/rpsg/version.rb +1 -1
  58. data/rpsg.gemspec +8 -7
  59. data/test/test_rpsg.rb +6 -0
  60. metadata +77 -27
  61. 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">&amp;&amp;</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">&amp;&amp;</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">&amp;&amp;</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">&amp;&amp;</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">&amp;&amp;</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">&amp;&amp;</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>
@@ -0,0 +1,4 @@
1
+ ---
2
+ ---
3
+
4
+ @import 'jekyll-theme-cayman';
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="/mstile-150x150.png"/>
6
+ <TileColor>#da532c</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>
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
+ }
@@ -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
+ ```