PlayRockPaperScissorsGame 2.5.3 → 2.5.4
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/docs/Code.md +27 -37
- data/docs/Comparing_Code.md +1 -7
- data/docs/_config.yml +1 -1
- data/docs/_site/CODE_OF_CONDUCT.html +1 -11
- data/docs/_site/CONTRIBUTING.html +1 -11
- data/docs/_site/Code.html +28 -48
- data/docs/_site/Comparing_Code.html +3 -15
- data/docs/_site/How_to_Build.html +1 -11
- data/docs/_site/Testing.html +1 -11
- data/docs/_site/index.html +1 -11
- data/lib/rps/version.rb +1 -1
- data/rps.gemspec +2 -2
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b90c6bab03bbfd5cee1cfaac14997494bbf1c67
|
4
|
+
data.tar.gz: 859adc29ffb31ea6e22267bdc490b49234d77aff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3e1cce8fc67cd79e9aaf146f1f5f9a8e5f97553b21296a91a91fca8796a0b66943f339abd4f1543aebac54da7d5679a0e808a40f9d066c4956c8d334842f3c8
|
7
|
+
data.tar.gz: 76a8ed7aab9580a1e32a62c009288d34a8c90a837f83a17eb18c8d9b6aebae1f13dcfe74ef98ced7dce85c95ef54d79758fce3fad09bf3ede13f9541369fbd31
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/docs/Code.md
CHANGED
@@ -27,16 +27,16 @@ __`% rps`__
|
|
27
27
|
|====================================|
|
28
28
|
=end
|
29
29
|
|
30
|
-
class PlayRockPaperScissorsGame
|
30
|
+
class PlayRockPaperScissorsGame
|
31
31
|
|
32
32
|
module RockPaperScissors
|
33
|
-
VERSION = "2.5.
|
33
|
+
VERSION = "2.5.4"
|
34
34
|
end
|
35
35
|
|
36
|
-
#
|
36
|
+
# call the colorize gem
|
37
37
|
require "colorized_string"
|
38
|
-
ColorizedString.colors # import colors; ex: red, green, blue
|
39
|
-
ColorizedString.modes # import modes; ex: bold, italic, underline
|
38
|
+
ColorizedString.colors # import colors; ex: red, green, blue from colorize gem
|
39
|
+
ColorizedString.modes # import modes; ex: bold, italic, underline from colorize gem
|
40
40
|
|
41
41
|
module Constants
|
42
42
|
NTRY_TO_SYM = { # define entry to symbol (key to value)
|
@@ -44,9 +44,9 @@ class PlayRockPaperScissorsGame # define master class
|
|
44
44
|
'r' => :ROCK,
|
45
45
|
's' => :SCISSORS
|
46
46
|
}
|
47
|
-
VALID_ENTRIES = NTRY_TO_SYM.keys
|
48
|
-
COMPUTER_CHOICES = NTRY_TO_SYM.values
|
49
|
-
WINNERS = [
|
47
|
+
VALID_ENTRIES = NTRY_TO_SYM.keys
|
48
|
+
COMPUTER_CHOICES = NTRY_TO_SYM.values
|
49
|
+
WINNERS = [
|
50
50
|
# format: player choice, computer choice
|
51
51
|
[:SCISSORS, :PAPER],
|
52
52
|
[:PAPER , :ROCK],
|
@@ -60,10 +60,10 @@ class PlayRockPaperScissorsGame # define master class
|
|
60
60
|
]
|
61
61
|
end
|
62
62
|
|
63
|
-
protected_methods :Constants
|
63
|
+
protected_methods :Constants
|
64
64
|
|
65
65
|
class << self # define a self calling method within the parent class
|
66
|
-
def continue(str1,str2,str3)
|
66
|
+
def continue(str1,str2,str3)
|
67
67
|
puts str1
|
68
68
|
print str2
|
69
69
|
gets # press enter or return to continue
|
@@ -71,36 +71,34 @@ class PlayRockPaperScissorsGame # define master class
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
continue(Constants::INIT_STRINGS[0], Constants::INIT_STRINGS[1], Constants::INIT_STRINGS[2])
|
74
|
+
continue(Constants::INIT_STRINGS[0], Constants::INIT_STRINGS[1], Constants::INIT_STRINGS[2])
|
75
75
|
|
76
76
|
def initialize # initialize variables
|
77
77
|
@player_score = @computer_score = @ties = 0
|
78
78
|
end
|
79
79
|
|
80
80
|
def play(winning_score)
|
81
|
-
while @player_score < winning_score && @computer_score < winning_score
|
81
|
+
while @player_score < winning_score && @computer_score < winning_score
|
82
82
|
puts ColorizedString["Player score: #{@player_score}, "].colorize(:blue) +
|
83
83
|
ColorizedString["Computer score: #{@computer_score}, Ties: #{@ties}"].colorize(:blue)
|
84
84
|
player = PrivateMethods.player_choice
|
85
85
|
computer = Constants::COMPUTER_CHOICES.sample # chooses a "random" option
|
86
86
|
puts ColorizedString["\nPlayer chooses #{player.to_s.downcase}"].colorize(:blue)
|
87
87
|
puts ColorizedString["Computer chooses #{computer.to_s.downcase}"].colorize(:blue)
|
88
|
-
case PrivateMethods.player_outcome [player, computer]
|
88
|
+
case PrivateMethods.player_outcome [player, computer]
|
89
89
|
when :WIN
|
90
90
|
puts ColorizedString["#{player.to_s.capitalize} beats #{computer.to_s.downcase}, player wins the round"].colorize(:red)
|
91
91
|
@player_score += 1 # @player_score = @player_score + 1
|
92
92
|
when :LOSE
|
93
93
|
puts ColorizedString["#{computer.to_s.capitalize} beats #{player.to_s.downcase}, computer wins the round"].colorize(:red)
|
94
94
|
@computer_score += 1
|
95
|
-
else
|
95
|
+
else
|
96
96
|
puts ColorizedString["Tie, choose again"].colorize(:red)
|
97
97
|
@ties += 1
|
98
|
-
# since tie is not in the original pass-in argument for the while loop, it will not be affected by the winning score
|
99
98
|
end
|
100
99
|
end
|
101
100
|
puts ColorizedString["\nFinal score: player: #{@player_score}, "].colorize(:blue) +
|
102
101
|
ColorizedString["computer: #{@computer_score} (ties: #{@ties})"].colorize(:blue)
|
103
|
-
# define a case for the final outcomes
|
104
102
|
case PrivateMethods.final_outcome(@player_score, @computer_score)
|
105
103
|
when :WIN
|
106
104
|
puts ColorizedString["Player wins!"].colorize(:red)
|
@@ -113,34 +111,26 @@ class PlayRockPaperScissorsGame # define master class
|
|
113
111
|
end
|
114
112
|
|
115
113
|
module PrivateMethods
|
116
|
-
class << self
|
114
|
+
class << self
|
117
115
|
def player_choice
|
118
|
-
loop do
|
116
|
+
loop do
|
119
117
|
print ColorizedString["Choose rock (r), paper (p) or scissors (s): "].colorize(:green)
|
120
|
-
choice = gets.chomp.downcase
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:red) # return an error message
|
118
|
+
choice = gets.chomp.downcase
|
119
|
+
if Constants::NTRY_TO_SYM.key?(choice)
|
120
|
+
return Constants::NTRY_TO_SYM[choice]
|
121
|
+
elsif choice != Constants::VALID_ENTRIES
|
122
|
+
puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:red)
|
126
123
|
end
|
127
|
-
# # one may also do this (albeit more useless):
|
128
|
-
# case
|
129
|
-
# when Constants::NTRY_TO_SYM.key?(choice)
|
130
|
-
# return Constants::NTRY_TO_SYM[choice]
|
131
|
-
# when choice != Constants::VALID_ENTRIES
|
132
|
-
# puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:green)
|
133
|
-
# end
|
134
124
|
end
|
135
125
|
end
|
136
126
|
|
137
|
-
def player_outcome(plays)
|
138
|
-
return :WIN if Constants::WINNERS.include?(plays)
|
139
|
-
return :LOSE if Constants::LOSERS.include?(plays)
|
140
|
-
return :TIE if !:WIN | !:LOSE
|
127
|
+
def player_outcome(plays)
|
128
|
+
return :WIN if Constants::WINNERS.include?(plays)
|
129
|
+
return :LOSE if Constants::LOSERS.include?(plays)
|
130
|
+
return :TIE if !:WIN | !:LOSE
|
141
131
|
end
|
142
132
|
|
143
|
-
def final_outcome(pl,co)
|
133
|
+
def final_outcome(pl,co)
|
144
134
|
return :WIN if pl > co
|
145
135
|
return :LOSE if pl < co
|
146
136
|
# there will never be a tie due to the code in the play() method
|
@@ -148,7 +138,7 @@ class PlayRockPaperScissorsGame # define master class
|
|
148
138
|
end
|
149
139
|
end
|
150
140
|
|
151
|
-
private_methods :PrivateMethods
|
141
|
+
private_methods :PrivateMethods
|
152
142
|
|
153
143
|
end
|
154
144
|
|
data/docs/Comparing_Code.md
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
---
|
2
|
-
# start YAML
|
3
2
|
layout: default
|
4
3
|
title: Comparing Code - Play Rock Paper Scissors Game
|
5
4
|
permalink: /Comparing_Code.html
|
6
|
-
# end YAML
|
7
5
|
---
|
8
6
|
|
9
|
-
[//]: # (start markdown)
|
10
|
-
|
11
7
|
# Comparing Beginner's RPS Code to Advanced RPS Code
|
12
8
|
|
13
9
|
**Table of Contents**
|
@@ -103,7 +99,7 @@ __`% ruby advanced-rps.rb`__
|
|
103
99
|
class PlayRockPaperScissorsGame
|
104
100
|
|
105
101
|
module RockPaperScissors
|
106
|
-
VERSION = "2.5.
|
102
|
+
VERSION = "2.5.4"
|
107
103
|
end
|
108
104
|
|
109
105
|
# import colorize gem
|
@@ -224,5 +220,3 @@ ______________
|
|
224
220
|
## Site Nav
|
225
221
|
|
226
222
|
[Home](./) | [Master Code](Code) | [How to Test](Testing) | [How to Build](How_to_Build)
|
227
|
-
|
228
|
-
[//]: # (end markdown)
|
data/docs/_config.yml
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -137,15 +137,5 @@ available at <a href="http://contributor-covenant.org/version/1/4/">http://contr
|
|
137
137
|
</section>
|
138
138
|
|
139
139
|
|
140
|
-
<script type="text/javascript">
|
141
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
142
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
143
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
144
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
145
|
-
|
146
|
-
ga('create', 'true', 'auto');
|
147
|
-
ga('send', 'pageview');
|
148
|
-
</script>
|
149
|
-
|
150
140
|
</body>
|
151
141
|
</html>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -96,15 +96,5 @@
|
|
96
96
|
</section>
|
97
97
|
|
98
98
|
|
99
|
-
<script type="text/javascript">
|
100
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
101
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
102
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
103
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
104
|
-
|
105
|
-
ga('create', 'true', 'auto');
|
106
|
-
ga('send', 'pageview');
|
107
|
-
</script>
|
108
|
-
|
109
99
|
</body>
|
110
100
|
</html>
|
data/docs/_site/Code.html
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -55,16 +55,16 @@
|
|
55
55
|
|====================================|
|
56
56
|
=end</span>
|
57
57
|
|
58
|
-
<span class="k">class</span> <span class="nc">PlayRockPaperScissorsGame</span>
|
58
|
+
<span class="k">class</span> <span class="nc">PlayRockPaperScissorsGame</span>
|
59
59
|
|
60
60
|
<span class="k">module</span> <span class="nn">RockPaperScissors</span>
|
61
|
-
<span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"2.5.
|
61
|
+
<span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"2.5.4"</span>
|
62
62
|
<span class="k">end</span>
|
63
63
|
|
64
|
-
<span class="c1">#
|
64
|
+
<span class="c1"># call the colorize gem</span>
|
65
65
|
<span class="nb">require</span> <span class="s2">"colorized_string"</span>
|
66
|
-
<span class="no">ColorizedString</span><span class="p">.</span><span class="nf">colors</span> <span class="c1"># import colors; ex: red, green, blue</span>
|
67
|
-
<span class="no">ColorizedString</span><span class="p">.</span><span class="nf">modes</span> <span class="c1"># import modes; ex: bold, italic, underline</span>
|
66
|
+
<span class="no">ColorizedString</span><span class="p">.</span><span class="nf">colors</span> <span class="c1"># import colors; ex: red, green, blue from colorize gem</span>
|
67
|
+
<span class="no">ColorizedString</span><span class="p">.</span><span class="nf">modes</span> <span class="c1"># import modes; ex: bold, italic, underline from colorize gem</span>
|
68
68
|
|
69
69
|
<span class="k">module</span> <span class="nn">Constants</span>
|
70
70
|
<span class="no">NTRY_TO_SYM</span> <span class="o">=</span> <span class="p">{</span> <span class="c1"># define entry to symbol (key to value)</span>
|
@@ -72,9 +72,9 @@
|
|
72
72
|
<span class="s1">'r'</span> <span class="o">=></span> <span class="ss">:ROCK</span><span class="p">,</span>
|
73
73
|
<span class="s1">'s'</span> <span class="o">=></span> <span class="ss">:SCISSORS</span>
|
74
74
|
<span class="p">}</span>
|
75
|
-
<span class="no">VALID_ENTRIES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">keys</span>
|
76
|
-
<span class="no">COMPUTER_CHOICES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">values</span>
|
77
|
-
<span class="no">WINNERS</span> <span class="o">=</span> <span class="p">[</span>
|
75
|
+
<span class="no">VALID_ENTRIES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">keys</span>
|
76
|
+
<span class="no">COMPUTER_CHOICES</span> <span class="o">=</span> <span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">values</span>
|
77
|
+
<span class="no">WINNERS</span> <span class="o">=</span> <span class="p">[</span>
|
78
78
|
<span class="c1"># format: player choice, computer choice</span>
|
79
79
|
<span class="p">[</span><span class="ss">:SCISSORS</span><span class="p">,</span> <span class="ss">:PAPER</span><span class="p">],</span>
|
80
80
|
<span class="p">[</span><span class="ss">:PAPER</span> <span class="p">,</span> <span class="ss">:ROCK</span><span class="p">],</span>
|
@@ -88,47 +88,45 @@
|
|
88
88
|
<span class="p">]</span>
|
89
89
|
<span class="k">end</span>
|
90
90
|
|
91
|
-
<span class="nb">protected_methods</span> <span class="ss">:Constants</span>
|
91
|
+
<span class="nb">protected_methods</span> <span class="ss">:Constants</span>
|
92
92
|
|
93
93
|
<span class="k">class</span> <span class="o"><<</span> <span class="nb">self</span> <span class="c1"># define a self calling method within the parent class</span>
|
94
|
-
<span class="k">def</span> <span class="nf">continue</span><span class="p">(</span><span class="n">str1</span><span class="p">,</span><span class="n">str2</span><span class="p">,</span><span class="n">str3</span><span class="p">)</span>
|
94
|
+
<span class="k">def</span> <span class="nf">continue</span><span class="p">(</span><span class="n">str1</span><span class="p">,</span><span class="n">str2</span><span class="p">,</span><span class="n">str3</span><span class="p">)</span>
|
95
95
|
<span class="nb">puts</span> <span class="n">str1</span>
|
96
96
|
<span class="nb">print</span> <span class="n">str2</span>
|
97
|
-
<span class="nb">gets</span>
|
97
|
+
<span class="nb">gets</span> <span class="c1"># press enter or return to continue</span>
|
98
98
|
<span class="nb">puts</span> <span class="n">str3</span>
|
99
99
|
<span class="k">end</span>
|
100
100
|
<span class="k">end</span>
|
101
101
|
|
102
|
-
<span class="n">continue</span><span class="p">(</span><span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
102
|
+
<span class="n">continue</span><span class="p">(</span><span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="no">Constants</span><span class="o">::</span><span class="no">INIT_STRINGS</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
103
103
|
|
104
104
|
<span class="k">def</span> <span class="nf">initialize</span> <span class="c1"># initialize variables</span>
|
105
105
|
<span class="vi">@player_score</span> <span class="o">=</span> <span class="vi">@computer_score</span> <span class="o">=</span> <span class="vi">@ties</span> <span class="o">=</span> <span class="mi">0</span>
|
106
106
|
<span class="k">end</span>
|
107
107
|
|
108
108
|
<span class="k">def</span> <span class="nf">play</span><span class="p">(</span><span class="n">winning_score</span><span class="p">)</span>
|
109
|
-
<span class="k">while</span> <span class="vi">@player_score</span> <span class="o"><</span> <span class="n">winning_score</span> <span class="o">&&</span> <span class="vi">@computer_score</span> <span class="o"><</span> <span class="n">winning_score</span>
|
109
|
+
<span class="k">while</span> <span class="vi">@player_score</span> <span class="o"><</span> <span class="n">winning_score</span> <span class="o">&&</span> <span class="vi">@computer_score</span> <span class="o"><</span> <span class="n">winning_score</span>
|
110
110
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Player score: </span><span class="si">#{</span><span class="vi">@player_score</span><span class="si">}</span><span class="s2">, "</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span> <span class="o">+</span>
|
111
111
|
<span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Computer score: </span><span class="si">#{</span><span class="vi">@computer_score</span><span class="si">}</span><span class="s2">, Ties: </span><span class="si">#{</span><span class="vi">@ties</span><span class="si">}</span><span class="s2">"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span>
|
112
112
|
<span class="n">player</span> <span class="o">=</span> <span class="no">PrivateMethods</span><span class="p">.</span><span class="nf">player_choice</span>
|
113
113
|
<span class="n">computer</span> <span class="o">=</span> <span class="no">Constants</span><span class="o">::</span><span class="no">COMPUTER_CHOICES</span><span class="p">.</span><span class="nf">sample</span> <span class="c1"># chooses a "random" option</span>
|
114
114
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"</span><span class="se">\n</span><span class="s2">Player chooses </span><span class="si">#{</span><span class="n">player</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">downcase</span><span class="si">}</span><span class="s2">"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span>
|
115
115
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Computer chooses </span><span class="si">#{</span><span class="n">computer</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">downcase</span><span class="si">}</span><span class="s2">"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span>
|
116
|
-
<span class="k">case</span> <span class="no">PrivateMethods</span><span class="p">.</span><span class="nf">player_outcome</span> <span class="p">[</span><span class="n">player</span><span class="p">,</span> <span class="n">computer</span><span class="p">]</span>
|
116
|
+
<span class="k">case</span> <span class="no">PrivateMethods</span><span class="p">.</span><span class="nf">player_outcome</span> <span class="p">[</span><span class="n">player</span><span class="p">,</span> <span class="n">computer</span><span class="p">]</span>
|
117
117
|
<span class="k">when</span> <span class="ss">:WIN</span>
|
118
118
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"</span><span class="si">#{</span><span class="n">player</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">capitalize</span><span class="si">}</span><span class="s2"> beats </span><span class="si">#{</span><span class="n">computer</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">downcase</span><span class="si">}</span><span class="s2">, player wins the round"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span>
|
119
119
|
<span class="vi">@player_score</span> <span class="o">+=</span> <span class="mi">1</span> <span class="c1"># @player_score = @player_score + 1</span>
|
120
120
|
<span class="k">when</span> <span class="ss">:LOSE</span>
|
121
121
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"</span><span class="si">#{</span><span class="n">computer</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">capitalize</span><span class="si">}</span><span class="s2"> beats </span><span class="si">#{</span><span class="n">player</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">downcase</span><span class="si">}</span><span class="s2">, computer wins the round"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span>
|
122
122
|
<span class="vi">@computer_score</span> <span class="o">+=</span> <span class="mi">1</span>
|
123
|
-
<span class="k">else</span>
|
123
|
+
<span class="k">else</span>
|
124
124
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Tie, choose again"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span>
|
125
125
|
<span class="vi">@ties</span> <span class="o">+=</span> <span class="mi">1</span>
|
126
|
-
<span class="c1"># since tie is not in the original pass-in argument for the while loop, it will not be affected by the winning score</span>
|
127
126
|
<span class="k">end</span>
|
128
127
|
<span class="k">end</span>
|
129
128
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"</span><span class="se">\n</span><span class="s2">Final score: player: </span><span class="si">#{</span><span class="vi">@player_score</span><span class="si">}</span><span class="s2">, "</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span> <span class="o">+</span>
|
130
129
|
<span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"computer: </span><span class="si">#{</span><span class="vi">@computer_score</span><span class="si">}</span><span class="s2"> (ties: </span><span class="si">#{</span><span class="vi">@ties</span><span class="si">}</span><span class="s2">)"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:blue</span><span class="p">)</span>
|
131
|
-
<span class="c1"># define a case for the final outcomes </span>
|
132
130
|
<span class="k">case</span> <span class="no">PrivateMethods</span><span class="p">.</span><span class="nf">final_outcome</span><span class="p">(</span><span class="vi">@player_score</span><span class="p">,</span> <span class="vi">@computer_score</span><span class="p">)</span>
|
133
131
|
<span class="k">when</span> <span class="ss">:WIN</span>
|
134
132
|
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Player wins!"</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span>
|
@@ -141,31 +139,23 @@
|
|
141
139
|
<span class="k">end</span>
|
142
140
|
|
143
141
|
<span class="k">module</span> <span class="nn">PrivateMethods</span>
|
144
|
-
<span class="k">class</span> <span class="o"><<</span> <span class="nb">self</span>
|
142
|
+
<span class="k">class</span> <span class="o"><<</span> <span class="nb">self</span>
|
145
143
|
<span class="k">def</span> <span class="nf">player_choice</span>
|
146
|
-
<span class="kp">loop</span> <span class="k">do</span>
|
144
|
+
<span class="kp">loop</span> <span class="k">do</span>
|
147
145
|
<span class="nb">print</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"Choose rock (r), paper (p) or scissors (s): "</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:green</span><span class="p">)</span>
|
148
|
-
<span class="n">choice</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>
|
149
|
-
<span class="
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"That entry is invalid. Please re-enter."</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span> <span class="c1"># return an error message</span>
|
146
|
+
<span class="n">choice</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>
|
147
|
+
<span class="k">if</span> <span class="no">Constants</span><span class="o">::</span><span class="no">NTRY_TO_SYM</span><span class="p">.</span><span class="nf">key?</span><span class="p">(</span><span class="n">choice</span><span class="p">)</span>
|
148
|
+
<span class="k">return</span> <span class="no">Constants</span><span class="o">::</span><span class="no">NTRY_TO_SYM</span><span class="p">[</span><span class="n">choice</span><span class="p">]</span>
|
149
|
+
<span class="k">elsif</span> <span class="n">choice</span> <span class="o">!=</span> <span class="no">Constants</span><span class="o">::</span><span class="no">VALID_ENTRIES</span>
|
150
|
+
<span class="nb">puts</span> <span class="no">ColorizedString</span><span class="p">[</span><span class="s2">"That entry is invalid. Please re-enter."</span><span class="p">].</span><span class="nf">colorize</span><span class="p">(</span><span class="ss">:red</span><span class="p">)</span>
|
154
151
|
<span class="k">end</span>
|
155
|
-
<span class="c1"># # one may also do this (albeit more useless):</span>
|
156
|
-
<span class="c1"># case</span>
|
157
|
-
<span class="c1"># when Constants::NTRY_TO_SYM.key?(choice)</span>
|
158
|
-
<span class="c1"># return Constants::NTRY_TO_SYM[choice]</span>
|
159
|
-
<span class="c1"># when choice != Constants::VALID_ENTRIES</span>
|
160
|
-
<span class="c1"># puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:green) </span>
|
161
|
-
<span class="c1"># end</span>
|
162
152
|
<span class="k">end</span>
|
163
153
|
<span class="k">end</span>
|
164
154
|
|
165
|
-
<span class="k">def</span> <span class="nf">player_outcome</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
166
|
-
<span class="k">return</span> <span class="ss">:WIN</span> <span class="k">if</span> <span class="no">Constants</span><span class="o">::</span><span class="no">WINNERS</span><span class="p">.</span><span class="nf">include?</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
167
|
-
<span class="k">return</span> <span class="ss">:LOSE</span> <span class="k">if</span> <span class="no">Constants</span><span class="o">::</span><span class="no">LOSERS</span><span class="p">.</span><span class="nf">include?</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
168
|
-
<span class="k">return</span> <span class="ss">:TIE</span> <span class="k">if</span> <span class="o">!</span><span class="ss">:WIN</span> <span class="o">|</span> <span class="o">!</span><span class="ss">:LOSE</span>
|
155
|
+
<span class="k">def</span> <span class="nf">player_outcome</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
156
|
+
<span class="k">return</span> <span class="ss">:WIN</span> <span class="k">if</span> <span class="no">Constants</span><span class="o">::</span><span class="no">WINNERS</span><span class="p">.</span><span class="nf">include?</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
157
|
+
<span class="k">return</span> <span class="ss">:LOSE</span> <span class="k">if</span> <span class="no">Constants</span><span class="o">::</span><span class="no">LOSERS</span><span class="p">.</span><span class="nf">include?</span><span class="p">(</span><span class="n">plays</span><span class="p">)</span>
|
158
|
+
<span class="k">return</span> <span class="ss">:TIE</span> <span class="k">if</span> <span class="o">!</span><span class="ss">:WIN</span> <span class="o">|</span> <span class="o">!</span><span class="ss">:LOSE</span>
|
169
159
|
<span class="k">end</span>
|
170
160
|
|
171
161
|
<span class="k">def</span> <span class="nf">final_outcome</span><span class="p">(</span><span class="n">pl</span><span class="p">,</span><span class="n">co</span><span class="p">)</span> <span class="c1"># define final outcome method</span>
|
@@ -176,7 +166,7 @@
|
|
176
166
|
<span class="k">end</span>
|
177
167
|
<span class="k">end</span>
|
178
168
|
|
179
|
-
<span class="nb">private_methods</span> <span class="ss">:PrivateMethods</span>
|
169
|
+
<span class="nb">private_methods</span> <span class="ss">:PrivateMethods</span>
|
180
170
|
|
181
171
|
<span class="k">end</span>
|
182
172
|
|
@@ -208,15 +198,5 @@
|
|
208
198
|
</section>
|
209
199
|
|
210
200
|
|
211
|
-
<script type="text/javascript">
|
212
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
213
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
214
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
215
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
216
|
-
|
217
|
-
ga('create', 'true', 'auto');
|
218
|
-
ga('send', 'pageview');
|
219
|
-
</script>
|
220
|
-
|
221
201
|
</body>
|
222
202
|
</html>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -35,8 +35,7 @@
|
|
35
35
|
|
36
36
|
<section class="main-content">
|
37
37
|
|
38
|
-
|
39
|
-
<h1 id="comparing-beginners-rps-code-to-advanced-rps-code">Comparing Beginner’s RPS Code to Advanced RPS Code</h1>
|
38
|
+
<h1 id="comparing-beginners-rps-code-to-advanced-rps-code">Comparing Beginner’s RPS Code to Advanced RPS Code</h1>
|
40
39
|
|
41
40
|
<p><strong>Table of Contents</strong></p>
|
42
41
|
|
@@ -140,7 +139,7 @@
|
|
140
139
|
<div class="language-ruby highlighter-rouge"><pre class="highlight"><code><span class="k">class</span> <span class="nc">PlayRockPaperScissorsGame</span>
|
141
140
|
|
142
141
|
<span class="k">module</span> <span class="nn">RockPaperScissors</span>
|
143
|
-
<span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"2.5.
|
142
|
+
<span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"2.5.4"</span>
|
144
143
|
<span class="k">end</span>
|
145
144
|
|
146
145
|
<span class="c1"># import colorize gem</span>
|
@@ -269,7 +268,6 @@
|
|
269
268
|
</tbody>
|
270
269
|
</table>
|
271
270
|
|
272
|
-
|
273
271
|
|
274
272
|
<footer class="site-footer">
|
275
273
|
|
@@ -279,15 +277,5 @@
|
|
279
277
|
</section>
|
280
278
|
|
281
279
|
|
282
|
-
<script type="text/javascript">
|
283
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
284
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
285
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
286
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
287
|
-
|
288
|
-
ga('create', 'true', 'auto');
|
289
|
-
ga('send', 'pageview');
|
290
|
-
</script>
|
291
|
-
|
292
280
|
</body>
|
293
281
|
</html>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -84,15 +84,5 @@
|
|
84
84
|
</section>
|
85
85
|
|
86
86
|
|
87
|
-
<script type="text/javascript">
|
88
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
89
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
90
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
91
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
92
|
-
|
93
|
-
ga('create', 'true', 'auto');
|
94
|
-
ga('send', 'pageview');
|
95
|
-
</script>
|
96
|
-
|
97
87
|
</body>
|
98
88
|
</html>
|
data/docs/_site/Testing.html
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -76,15 +76,5 @@
|
|
76
76
|
</section>
|
77
77
|
|
78
78
|
|
79
|
-
<script type="text/javascript">
|
80
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
81
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
82
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
83
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
84
|
-
|
85
|
-
ga('create', 'true', 'auto');
|
86
|
-
ga('send', 'pageview');
|
87
|
-
</script>
|
88
|
-
|
89
79
|
</body>
|
90
80
|
</html>
|
data/docs/_site/index.html
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
8
|
<meta name="theme-color" content="#157878">
|
9
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=
|
10
|
+
<link rel="stylesheet" href="/assets/css/style.css?v=d37a82f64887a1366310743d3d4f672eee2de697">
|
11
11
|
<link rel="stylesheet" href="assets/css/pace.css" />
|
12
12
|
<script src="assets/js/pace.min.js"></script>
|
13
13
|
</head>
|
@@ -133,15 +133,5 @@
|
|
133
133
|
</section>
|
134
134
|
|
135
135
|
|
136
|
-
<script type="text/javascript">
|
137
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
138
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
139
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
140
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
141
|
-
|
142
|
-
ga('create', 'true', 'auto');
|
143
|
-
ga('send', 'pageview');
|
144
|
-
</script>
|
145
|
-
|
146
136
|
</body>
|
147
137
|
</html>
|
data/lib/rps/version.rb
CHANGED
data/rps.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "PlayRockPaperScissorsGame"
|
3
|
-
spec.version = "2.5.
|
4
|
-
spec.date = "2017-
|
3
|
+
spec.version = "2.5.4"
|
4
|
+
spec.date = "2017-05-01"
|
5
5
|
spec.summary = "A Rock Paper Scissors Ruby Gem"
|
6
6
|
spec.description = <<-EOF
|
7
7
|
A Ruby-programmed rock paper scissors game.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: PlayRockPaperScissorsGame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- bag3318
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
ft+uhriUZSVDBJRLSlrQEH2f0866a9dA4oUmvvFU46Mh6pozDjOcLJIp/tCnbVOc
|
31
31
|
HSdXPrjfOoDbhBPH/4wUd5P0rDoNKN1hxH4SzA==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2017-
|
33
|
+
date: 2017-05-01 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: bundler
|
metadata.gz.sig
CHANGED
Binary file
|