rpsg 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|