rpsg 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/README.md +3 -2
- data/Rakefile +1 -1
- data/bin/{rps → rpsg} +15 -16
- data/lib/PrivateMethods.rb +3 -3
- data/lib/rpsg/version.rb +3 -0
- data/{rps.gemspec → rpsg.gemspec} +4 -4
- data/test/rpsg.rb +1 -0
- metadata +8 -9
- data/lib/rps/version.rb +0 -3
- data/rps.sublime-project +0 -22
- data/test/rps.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29852801d53986e13f5efccf7de5e8a537a80929
|
4
|
+
data.tar.gz: 928587d00a49e8d182bd3ac28c76385c3d92188b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e24614b0261a4ea1d5e918785ea41304f80f34ab0a703d69161875dda8dbb8abfa6b4e1fca3c628586a2bf45dd1dc365ff9c5ba7d6a2347244e4e7c35d41b365
|
7
|
+
data.tar.gz: 35e7d70d9f83ae02dc759723d9557e48ee4e11065be8563dc6222da3db593dd6da7f521ac42810f37304be46591ae652c431185d079709605dce6b5e9ca94d6f
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -21,14 +21,15 @@ How To Use
|
|
21
21
|
### Windows
|
22
22
|
|
23
23
|
1. Open `cmd` as non-admin
|
24
|
+
* `cmd` is the `Command Prompt`
|
24
25
|
2. type the following: `gem install rpsg`
|
25
|
-
3. run the following: `
|
26
|
+
3. run the following: `rpsg`
|
26
27
|
|
27
28
|
### Mac
|
28
29
|
|
29
30
|
1. Open `Terminal`
|
30
31
|
2. type the following: `gem install rpsg`
|
31
|
-
3. run the following: `
|
32
|
+
3. run the following: `rpsg`
|
32
33
|
|
33
34
|
________
|
34
35
|
|
data/Rakefile
CHANGED
data/bin/{rps → rpsg}
RENAMED
@@ -8,14 +8,13 @@
|
|
8
8
|
|====================================|
|
9
9
|
=end
|
10
10
|
|
11
|
-
|
12
|
-
class RPS
|
11
|
+
class RockPapaerScissorsGame
|
13
12
|
|
14
13
|
lib = File.expand_path("../../lib", __FILE__)
|
15
14
|
|
16
15
|
$:.unshift(lib)
|
17
16
|
|
18
|
-
require "
|
17
|
+
require "rpsg/version.rb"
|
19
18
|
|
20
19
|
require "Constants.rb"
|
21
20
|
|
@@ -38,33 +37,33 @@ class RPS
|
|
38
37
|
|
39
38
|
def play(winning_score)
|
40
39
|
while @player_score < winning_score && @computer_score < winning_score
|
41
|
-
puts"Player score: #{@player_score}, " +
|
42
|
-
|
40
|
+
puts "Player score: #{@player_score}, " +
|
41
|
+
"Computer score: #{@computer_score}, Ties: #{@ties}.\n"
|
43
42
|
player = PrivateMethods.player_choice
|
44
43
|
computer = Constants::COMPUTER_CHOICES.sample # chooses a random option
|
45
|
-
puts"\nPlayer chooses #{player.to_s.downcase}."
|
46
|
-
puts"Computer chooses #{computer.to_s.downcase}
|
44
|
+
puts "\nPlayer chooses #{player.to_s.downcase}."
|
45
|
+
puts "Computer chooses #{computer.to_s.downcase}.\n"
|
47
46
|
case PrivateMethods.player_outcome [player, computer]
|
48
47
|
when :WIN
|
49
|
-
puts"#{player.to_s.capitalize} beats #{computer.to_s.downcase}, player wins the round
|
48
|
+
puts "\n#{player.to_s.capitalize} beats #{computer.to_s.downcase}, player wins the round.\n"
|
50
49
|
@player_score += 1
|
51
50
|
when :LOSE
|
52
|
-
puts"#{computer.to_s.capitalize} beats #{player.to_s.downcase}, computer wins the round
|
51
|
+
puts "\n#{computer.to_s.capitalize} beats #{player.to_s.downcase}, computer wins the round.\n"
|
53
52
|
@computer_score += 1
|
54
53
|
else
|
55
|
-
puts"
|
54
|
+
puts "\nTie, choose again\n"
|
56
55
|
@ties += 1
|
57
56
|
end
|
58
57
|
end
|
59
|
-
puts"\nFinal score: player: #{@player_score}, " +
|
60
|
-
|
58
|
+
puts "\nFinal score: player: #{@player_score}, " +
|
59
|
+
"computer: #{@computer_score} (ties: #{@ties}).\n"
|
61
60
|
case PrivateMethods.final_outcome(@player_score, @computer_score)
|
62
61
|
when :WIN
|
63
|
-
puts"
|
62
|
+
puts "\nPlayer wins!"
|
64
63
|
when :LOSE
|
65
|
-
puts"
|
64
|
+
puts "\nComputer wins!"
|
66
65
|
else
|
67
|
-
puts"
|
66
|
+
puts "\nIt's a tie!"
|
68
67
|
end
|
69
68
|
gets
|
70
69
|
end
|
@@ -75,4 +74,4 @@ class RPS
|
|
75
74
|
|
76
75
|
end
|
77
76
|
|
78
|
-
|
77
|
+
RockPapaerScissorsGame.new.play(2) # best of 3 (0, 1, 2)
|
data/lib/PrivateMethods.rb
CHANGED
@@ -2,12 +2,12 @@ module PrivateMethods
|
|
2
2
|
class << self
|
3
3
|
def player_choice
|
4
4
|
loop do
|
5
|
-
print "
|
5
|
+
print "\nChoose: Rock (r), Paper (p), or Scissors (s): \n"
|
6
6
|
choice = gets.chomp.downcase
|
7
7
|
if Constants::NTRY_TO_SYM.key?(choice)
|
8
8
|
return Constants::NTRY_TO_SYM[choice]
|
9
9
|
elsif choice != Constants::VALID_ENTRIES
|
10
|
-
puts "
|
10
|
+
puts "\nThat entry is invalid. Please re-enter.\n"
|
11
11
|
else
|
12
12
|
return nil
|
13
13
|
end
|
@@ -28,7 +28,7 @@ module PrivateMethods
|
|
28
28
|
def final_outcome(pl,co)
|
29
29
|
return :WIN if pl > co
|
30
30
|
return :LOSE if pl < co
|
31
|
-
|
31
|
+
return :TIE if pl = co
|
32
32
|
# there will never be a tie for the final outcome due to the code in the play() method
|
33
33
|
end
|
34
34
|
end
|
data/lib/rpsg/version.rb
ADDED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "rpsg"
|
3
|
-
spec.version = "0.0
|
3
|
+
spec.version = "0.1.0"
|
4
4
|
spec.date = "2017-10-12"
|
5
5
|
spec.summary = "A Rock Paper Scissors Game Ruby Gem"
|
6
6
|
spec.description = <<-EOF
|
@@ -22,10 +22,10 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.extra_rdoc_files = "README.md"
|
23
23
|
spec.bindir = "bin"
|
24
24
|
spec.metadata = {
|
25
|
-
"issue_tracker" => "https://github.com/bag3318/
|
26
|
-
"source_code" => "https://github.com/bag3318/
|
25
|
+
"issue_tracker" => "https://github.com/bag3318/RPSG/issues",
|
26
|
+
"source_code" => "https://github.com/bag3318/RPSG"
|
27
27
|
}
|
28
|
-
spec.executables << "
|
28
|
+
spec.executables << "rpsg"
|
29
29
|
spec.requirements << "A Windows or Mac computer"
|
30
30
|
spec.add_runtime_dependency 'rake' , '~> 12.0', '>= 12.0.0'
|
31
31
|
spec.add_runtime_dependency 'rvm' , '~> 1.11', '>= 1.11.3.9'
|
data/test/rpsg.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
load "bin/rpsg"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rpsg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- bag3318
|
@@ -74,7 +74,7 @@ description: " A Ruby-programmed rock paper scissors game. \n Now you can
|
|
74
74
|
rock paper scissors on your computer whenever you'd like! :)\n"
|
75
75
|
email: ''
|
76
76
|
executables:
|
77
|
-
-
|
77
|
+
- rpsg
|
78
78
|
extensions: []
|
79
79
|
extra_rdoc_files:
|
80
80
|
- README.md
|
@@ -84,19 +84,18 @@ files:
|
|
84
84
|
- LICENSE
|
85
85
|
- README.md
|
86
86
|
- Rakefile
|
87
|
-
- bin/
|
87
|
+
- bin/rpsg
|
88
88
|
- lib/Constants.rb
|
89
89
|
- lib/PrivateMethods.rb
|
90
|
-
- lib/
|
91
|
-
-
|
92
|
-
-
|
93
|
-
- test/rps.rb
|
90
|
+
- lib/rpsg/version.rb
|
91
|
+
- rpsg.gemspec
|
92
|
+
- test/rpsg.rb
|
94
93
|
homepage: https://rubygems.org/gems/rpsg
|
95
94
|
licenses:
|
96
95
|
- MIT
|
97
96
|
metadata:
|
98
|
-
issue_tracker: https://github.com/bag3318/
|
99
|
-
source_code: https://github.com/bag3318/
|
97
|
+
issue_tracker: https://github.com/bag3318/RPSG/issues
|
98
|
+
source_code: https://github.com/bag3318/RPSG
|
100
99
|
post_install_message: " Thanks for installing! I hope you will have fun playing
|
101
100
|
rock paper scissors! :)\n"
|
102
101
|
rdoc_options: []
|
data/lib/rps/version.rb
DELETED
data/rps.sublime-project
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"folders":
|
3
|
-
[
|
4
|
-
{
|
5
|
-
"path": ".",
|
6
|
-
"folder_exclude_patterns": [".git", "working"],
|
7
|
-
"file_exclude_patterns": ["*.sublime-workspace"],
|
8
|
-
"follow_symlinks": true
|
9
|
-
}
|
10
|
-
],
|
11
|
-
"settings":
|
12
|
-
{
|
13
|
-
"tab_size": 4
|
14
|
-
},
|
15
|
-
"build_systems":
|
16
|
-
[
|
17
|
-
{
|
18
|
-
"name": "Ruby",
|
19
|
-
"shell_cmd": "ruby"
|
20
|
-
}
|
21
|
-
]
|
22
|
-
}
|
data/test/rps.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
load "bin/rps"
|