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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f31976014aaeb9be5d88b8a6e823beed7448a27
4
- data.tar.gz: e483adf684f5c311431bc9256113a531b9f17941
3
+ metadata.gz: 3b90c6bab03bbfd5cee1cfaac14997494bbf1c67
4
+ data.tar.gz: 859adc29ffb31ea6e22267bdc490b49234d77aff
5
5
  SHA512:
6
- metadata.gz: 6435320aa1f6de47067d1ca54e5d4435ac617f876dc87fa7c7e5741de518549c8dfd77eb10ac25aa617a87d598b4057b60d3786da272dea39d5058509c776e0e
7
- data.tar.gz: 2363a194c34e6881e7313cf93523dc8bf1c29e7fc43d66a3170c20e7f3b042a2dc8fd6ed9d132c4c3f4b3560a86157167a69da90735ac4c3c963cb54356964f2
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 # define master class
30
+ class PlayRockPaperScissorsGame
31
31
 
32
32
  module RockPaperScissors
33
- VERSION = "2.5.3" # define version constant
33
+ VERSION = "2.5.4"
34
34
  end
35
35
 
36
- # intiate the colorize gem
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 # create valid entries
48
- COMPUTER_CHOICES = NTRY_TO_SYM.values # define computer choices
49
- WINNERS = [ # define 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 # make the constants module protected
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) # pass in 3 parameters
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]) # call continue method
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 # both the computer's score and the player's score have to be less than the value passed in for the winning score at the end
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] # define a reference call for player and computer for the arrays called in the player_outcome method
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 # since there is only 1 option left, there is no need to define when :TIE
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 # make all methods below self calling methods of this class (PlayRockPaperScissorsGame) so that the other methods will not to call their parents of these methods
114
+ class << self
117
115
  def player_choice
118
- loop do # for loop with no arguments passed in
116
+ loop do
119
117
  print ColorizedString["Choose rock (r), paper (p) or scissors (s): "].colorize(:green)
120
- choice = gets.chomp.downcase # read user input and convert all to lower case
121
- # define valid and invalid entries by using an if else-if statement(s)
122
- if Constants::NTRY_TO_SYM.key?(choice) # if the NTRY_TO_SYM array's key is one of the keys defined in the original array
123
- return Constants::NTRY_TO_SYM[choice] # return the users choice
124
- elsif choice != Constants::VALID_ENTRIES # else if it is not one of the valid entries...
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) # define method for the player's outcome while passing in a parameter of type array
138
- return :WIN if Constants::WINNERS.include?(plays) # return a win if the one of the sub-arrays in the winners array is called
139
- return :LOSE if Constants::LOSERS.include?(plays) # return a loss if any of the mapped sub-arrays in the losers constant is present
140
- return :TIE if !:WIN | !:LOSE # return a tie if not (!) win or if not 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) # define final outcome method
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 # make the PrivateMethods module private
141
+ private_methods :PrivateMethods
152
142
 
153
143
  end
154
144
 
@@ -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.3"
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
@@ -1,7 +1,7 @@
1
1
  title: Play Rock Paper Scissors Game
2
2
  description: A Ruby Programmed Rock Paper Scissors Game
3
3
  show_downloads: true
4
- google_analytics: true
4
+ google_analytics: false
5
5
  theme: jekyll-theme-cayman
6
6
  exclude: [
7
7
  Gemfile,
@@ -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=765162b12a2a2290411ad820ef809e84f4d60adb">
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=765162b12a2a2290411ad820ef809e84f4d60adb">
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=765162b12a2a2290411ad820ef809e84f4d60adb">
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> <span class="c1"># define master class</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.3"</span> <span class="c1"># define version constant</span>
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"># intiate the colorize gem</span>
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">=&gt;</span> <span class="ss">:ROCK</span><span class="p">,</span>
73
73
  <span class="s1">'s'</span> <span class="o">=&gt;</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> <span class="c1"># create valid entries</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> <span class="c1"># define computer choices</span>
77
- <span class="no">WINNERS</span> <span class="o">=</span> <span class="p">[</span> <span class="c1"># define winners</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> <span class="c1"># make the constants module protected</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">&lt;&lt;</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> <span class="c1"># pass in 3 parameters</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> <span class="c1"># press enter or return to continue</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> <span class="c1"># call continue method</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">&lt;</span> <span class="n">winning_score</span> <span class="o">&amp;&amp;</span> <span class="vi">@computer_score</span> <span class="o">&lt;</span> <span class="n">winning_score</span> <span class="c1"># both the computer's score and the player's score have to be less than the value passed in for the winning score at the end</span>
109
+ <span class="k">while</span> <span class="vi">@player_score</span> <span class="o">&lt;</span> <span class="n">winning_score</span> <span class="o">&amp;&amp;</span> <span class="vi">@computer_score</span> <span class="o">&lt;</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> <span class="c1"># define a reference call for player and computer for the arrays called in the player_outcome method</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> <span class="c1"># since there is only 1 option left, there is no need to define when :TIE</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">&lt;&lt;</span> <span class="nb">self</span> <span class="c1"># make all methods below self calling methods of this class (PlayRockPaperScissorsGame) so that the other methods will not to call their parents of these methods</span>
142
+ <span class="k">class</span> <span class="o">&lt;&lt;</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> <span class="c1"># for loop with no arguments passed in</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> <span class="c1"># read user input and convert all to lower case</span>
149
- <span class="c1"># define valid and invalid entries by using an if else-if statement(s)</span>
150
- <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> <span class="c1"># if the NTRY_TO_SYM array's key is one of the keys defined in the original array</span>
151
- <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> <span class="c1"># return the users choice</span>
152
- <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> <span class="c1"># else if it is not one of the valid entries...</span>
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> <span class="c1"># define method for the player's outcome while passing in a parameter of type array</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> <span class="c1"># return a win if the one of the sub-arrays in the winners array is called</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> <span class="c1"># return a loss if any of the mapped sub-arrays in the losers constant is present</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> <span class="c1"># return a tie if not (!) win or if not 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> <span class="c1"># make the PrivateMethods module private</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=765162b12a2a2290411ad820ef809e84f4d60adb">
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.3"</span>
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=765162b12a2a2290411ad820ef809e84f4d60adb">
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>
@@ -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=765162b12a2a2290411ad820ef809e84f4d60adb">
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>
@@ -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=765162b12a2a2290411ad820ef809e84f4d60adb">
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
@@ -1,3 +1,3 @@
1
1
  module RockPaperScissors
2
- VERSION = "2.5.3"
2
+ VERSION = "2.5.4"
3
3
  end
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.3"
4
- spec.date = "2017-04-08"
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.3
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-04-08 00:00:00.000000000 Z
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