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 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