PlayRockPaperScissorsGame 2.5.3 → 2.5.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|