PRAGMATIC-GEM 1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 775cdb5171fdcf191c288bab7744e20265642881
4
+ data.tar.gz: a2ebe72127be3ff3b196d0e50eed78bd2a7b506a
5
+ SHA512:
6
+ metadata.gz: c163a9e91fbdb25416e7233d18f59d9e027e97e80664632a34dcdcd7adf341014a44ab4a5343fbb69231d38d7537eaa9388b61a128047c4d165565187f5a7480
7
+ data.tar.gz: 750f2b7365c59920665dcbb53cfe6dc07eda33efdc923f679525c87d9bc2c514906aef10cbb376eb85ee28f6103a20c7ae60a46b710aecb32ccd17764a974040
data/LICENSE ADDED
@@ -0,0 +1 @@
1
+ you have license to be sexylicious
data/README ADDED
@@ -0,0 +1 @@
1
+ hi you are reading me
@@ -0,0 +1,11 @@
1
+ Knuckleheads High Score
2
+ Berzie sanders...... 150
3
+ Curly............... 150
4
+ Larry............... 150
5
+ Moe................. 150
6
+ Linku............... 125
7
+ Livecodingsupport... 113
8
+ Nightfaust.......... 100
9
+ Klumz............... 100
10
+ Richriscunha........ 100
11
+ Kelvin_1............ 60
@@ -0,0 +1,5 @@
1
+ blend_er, 100
2
+ web2ls, 100
3
+ milanj, 100
4
+ scheik, 100
5
+ dejavu, 100
data/bin/players.csv ADDED
@@ -0,0 +1,5 @@
1
+ richriscunha,100
2
+ kelvin_1,60
3
+ Linku,125
4
+ LivecodingSupport,113
5
+ nightfaust,100
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ require_relative '../lib/studio_game/game'
5
+ require_relative '../lib/studio_game/player'
6
+ require_relative '../lib/studio_game/clumsy_player'
7
+ require_relative '../lib/studio_game/berserk_player'
8
+
9
+ player1 = StudioGame::Player.new("moe")
10
+ player2 = StudioGame::Player.new("larry")
11
+ player3 = StudioGame::Player.new("curly")
12
+
13
+ knuckleheads = StudioGame::Game.new("Knuckleheads")
14
+ default_player_file = File.join(File.dirname(__FILE__), 'players.csv')
15
+
16
+ knuckleheads.load_players(ARGV.shift || default_player_file)
17
+
18
+ knuckleheads.add_player(player1)
19
+ knuckleheads.add_player(player2)
20
+ knuckleheads.add_player(player3)
21
+
22
+ clumsy_player1 = StudioGame::ClumsyPlayer.new("Klumz", 100)
23
+ knuckleheads.add_player(clumsy_player1)
24
+
25
+ berserk_player1 = StudioGame::BerserkPlayer.new("Berzie Sanders", 150)
26
+ knuckleheads.add_player(berserk_player1)
27
+
28
+ loop do
29
+
30
+ puts "\nHow many rounds would you like to play? ('quit' to exit)"
31
+ answer = gets.chomp.downcase
32
+
33
+ case answer
34
+ when /^\d+$/
35
+ knuckleheads.play(answer.to_i)
36
+ when 'quit', 'exit'
37
+ knuckleheads.print_stats
38
+ knuckleheads.save_high_scores
39
+ break
40
+ else
41
+ puts "Please enter a number or type quit to exit"
42
+ end
43
+
44
+ end
45
+
46
+
47
+
48
+
49
+
50
+
@@ -0,0 +1,10 @@
1
+ module StudioGame
2
+
3
+ module Auditable
4
+
5
+ def audit
6
+ puts "Rolled a #{self.number} - #{self.class}"
7
+ end
8
+ end
9
+
10
+ end
@@ -0,0 +1,55 @@
1
+ require_relative 'player'
2
+
3
+ module StudioGame
4
+
5
+ class BerserkPlayer < Player
6
+
7
+ def initialize(name, health=100)
8
+ super(name, health)
9
+ @woot_count = 0
10
+ end
11
+
12
+ def berserk?
13
+ @woot_count > 5
14
+ end
15
+
16
+ def woot
17
+
18
+ super
19
+ @woot_count += 1
20
+
21
+ if berserk?
22
+ puts "I'M BERSERK!!!!"
23
+ end
24
+
25
+ if @woot_count == 4
26
+ puts "I'm about to go berserk...you won't like me when I'm berserk..."
27
+ end
28
+
29
+ end
30
+
31
+ def blam
32
+
33
+ if berserk?
34
+ woot
35
+ else
36
+ super
37
+ end
38
+
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+
45
+
46
+
47
+
48
+ if __FILE__ == $0
49
+ berserker = BerserkPlayer.new("berz", 50)
50
+
51
+ 6.times {berserker.woot}
52
+ 4.times {berserker.blam}
53
+
54
+ puts berserker.health
55
+ end
@@ -0,0 +1,32 @@
1
+ require_relative 'player'
2
+
3
+ module StudioGame
4
+
5
+ class ClumsyPlayer < Player
6
+
7
+ def found_treasure(treasure)
8
+ damaged_treasure = Treasure.new(treasure.name, treasure.points / 2.0)
9
+ super(damaged_treasure)
10
+ end
11
+
12
+ end
13
+
14
+ end
15
+
16
+
17
+ if __FILE__ == $0
18
+ clumsy = ClumsyPlayer.new("klutz")
19
+
20
+ hammer = Treasure.new(:hammer, 50)
21
+ clumsy.found_treasure(hammer)
22
+ clumsy.found_treasure(hammer)
23
+ clumsy.found_treasure(hammer)
24
+
25
+ crowbar = Treasure.new(:crowbar, 400)
26
+ clumsy.found_treasure(crowbar)
27
+
28
+ clumsy.each_found_treasure do |treasure|
29
+ puts "#{treasure.points} total #{treasure.name} points"
30
+ end
31
+ puts "#{clumsy.points} grand total points"
32
+ end
@@ -0,0 +1,22 @@
1
+ require_relative 'auditable'
2
+
3
+ module StudioGame
4
+
5
+ class Die
6
+
7
+ include Auditable
8
+
9
+ attr_reader :number
10
+
11
+ def initialize
12
+ roll
13
+ end
14
+
15
+ def roll
16
+ @number = rand(1..6)
17
+ audit
18
+ @number
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,135 @@
1
+ require_relative 'player'
2
+ require_relative 'die'
3
+ require_relative 'game_turn'
4
+ require_relative 'treasure_trove'
5
+
6
+
7
+ module StudioGame
8
+
9
+ class Game
10
+
11
+ attr_accessor :title
12
+
13
+ def initialize(title)
14
+ @title = title
15
+ @players = []
16
+ end
17
+
18
+ def add_player(player)
19
+ @players.push(player)
20
+ # puts @players
21
+ end
22
+
23
+ def play(rounds)
24
+ puts "Let's play Knuckleheads!"
25
+
26
+ puts "\nLooks like we have #{@players.size} players this game:"
27
+ @players.each do |player|
28
+ formatted_name = player.name.ljust(20, '.')
29
+ puts "#{formatted_name} #{player.health} HP"
30
+ end
31
+
32
+ treasures = TreasureTrove::TREASURES
33
+ puts "\nThere are #{treasures.count} treasures in the Treasure Trove:"
34
+
35
+ treasures.each do |treasure|
36
+ puts "A #{treasure.name} is worth #{treasure.points} HP"
37
+ end
38
+
39
+ 1.upto(rounds) do |round|
40
+ puts "\nRound #{round}:"
41
+
42
+ @players.each do |player|
43
+ GameTurn.take_turn(player)
44
+ puts "#{player}"
45
+ puts "\n"
46
+ end
47
+ end
48
+
49
+
50
+ end
51
+
52
+ def print_high_scores(player)
53
+ formatted_name = player.name.ljust(20, '.')
54
+ "#{formatted_name} #{player.score}"
55
+ end
56
+
57
+ def print_stats
58
+ puts "\n*** Knucklehead Statistics ***"
59
+
60
+ strong_players, wimpy_players = @players.partition { |player| player.strong? }
61
+
62
+ puts "\n#{strong_players.count} strong players:"
63
+
64
+ strong_players.each do |player|
65
+ puts "#{player.name} (#{player.health})"
66
+ end
67
+
68
+ puts "\n#{wimpy_players.count} wimpy players:"
69
+
70
+ wimpy_players.each do |player|
71
+ puts "#{player.name} (#{player.health})"
72
+ end
73
+
74
+ puts "\n#{title} Final Ranking:"
75
+ @players.sort.each do |player|
76
+ puts print_high_scores(player)
77
+ end
78
+
79
+ @players.each do |player|
80
+ puts "\n#{player.name}'s Point Breakdown"
81
+ player.each_found_treasure do |treasure|
82
+ puts "+ #{treasure.points} total #{treasure.name} points"
83
+ end
84
+ puts "= #{player.points} Treasure Points"
85
+ puts "+ #{player.health} HP"
86
+ puts "= #{player.score} Total Game Points"
87
+ end
88
+
89
+ end
90
+
91
+ def print_name_and_health(player)
92
+ puts "#{player.name} (#{player.health}"
93
+ end
94
+
95
+ def load_players(file)
96
+ File.readlines(file).each do |line|
97
+ add_player(Player.from_csv(line))
98
+ end
99
+ end
100
+
101
+ def save_high_scores(file="high_scores_revised.txt")
102
+
103
+ File.open(file, "w") do |file|
104
+ file.puts "#{@title} High Score"
105
+
106
+ @players.sort.each do |player|
107
+ file.puts print_high_scores(player)
108
+ end
109
+
110
+ end
111
+ end
112
+
113
+ end
114
+
115
+ end
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
@@ -0,0 +1,32 @@
1
+ require_relative 'player'
2
+ require_relative 'die'
3
+ require_relative 'treasure_trove'
4
+ require_relative 'loaded_die'
5
+
6
+ module StudioGame
7
+
8
+ module GameTurn
9
+ def self.take_turn(player)
10
+ die = Die.new
11
+
12
+ case die.roll
13
+ when 1..2
14
+ player.blam
15
+ when 3..4
16
+ puts "The Great Die chose to ignore #{player.name}..."
17
+ else 5..6
18
+ player.woot
19
+ end
20
+
21
+
22
+
23
+ treasure = TreasureTrove.random
24
+
25
+ player.found_treasure(treasure)
26
+ # puts "#{player.name} found a #{treasure.name} worth #{treasure.points} points."
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'auditable'
2
+
3
+ module StudioGame
4
+
5
+ class LoadedDie
6
+
7
+ include Auditable
8
+ attr_reader :number
9
+
10
+ def roll
11
+ numbers = [1,1,2,3,5,6,6]
12
+ @number = numbers.sample
13
+ audit
14
+ @number
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,19 @@
1
+ module StudioGame
2
+
3
+ module Playable
4
+ def woot
5
+ @health += 10
6
+ puts "The Great Die wooted #{@name}! #{@name}'s health is now #{@health}! :-)"
7
+ end
8
+
9
+ def blam
10
+ @health -= 10
11
+ puts "The Great Die blammed #{@name}! #{@name}'s health is now #{@health} :("
12
+ end
13
+
14
+ def strong?
15
+ @health > 100
16
+ end
17
+ end
18
+
19
+ end
@@ -0,0 +1,66 @@
1
+ require_relative 'treasure_trove'
2
+ require_relative 'playable'
3
+
4
+
5
+ module StudioGame
6
+
7
+ class Player
8
+
9
+ include Playable
10
+
11
+ attr_accessor :health, :name
12
+
13
+ def initialize(name, health = 150)
14
+ @name = name.capitalize
15
+ @health = health
16
+ @found_treasures = Hash.new(0)
17
+ end
18
+
19
+ def to_s
20
+ "#{@name} has #{@health}HP & #{points} Treasure pts for a total of #{score}GP"
21
+ end
22
+
23
+ def <=>(other)
24
+ other.score <=> score
25
+ end
26
+
27
+ def points
28
+ @found_treasures.values.reduce(0, :+)
29
+ end
30
+
31
+ def score
32
+ @health + points
33
+ end
34
+
35
+ def found_treasure(treasure)
36
+ @found_treasures[treasure.name] += treasure.points
37
+ puts "#{@name} then found a #{treasure.name} - that's worth #{treasure.points}pts!"
38
+ puts "#{@name}'s treasure chest (#{@found_treasures}) is now worth #{@found_treasures.values.reduce(:+)}pts"
39
+ end
40
+
41
+ def each_found_treasure
42
+ @found_treasures.each do |name, points|
43
+ yield Treasure.new(name, points)
44
+ end
45
+ end
46
+
47
+ def self.from_csv(string)
48
+ name, health = string.split(',')
49
+ player = Player.new(name, Integer(health))
50
+ end
51
+
52
+ end
53
+
54
+ end
55
+
56
+
57
+
58
+ if __FILE__ == $0
59
+ player = Player.new("moe")
60
+ puts player.name
61
+ puts player.health
62
+ player.w00t
63
+ puts player.health
64
+ player.blam
65
+ puts player.health
66
+ end
@@ -0,0 +1,21 @@
1
+ module StudioGame
2
+
3
+ Treasure = Struct.new(:name, :points)
4
+
5
+ module TreasureTrove
6
+ TREASURES = [
7
+ Treasure.new(:pie, 5),
8
+ Treasure.new(:bottle, 25),
9
+ Treasure.new(:hammer, 50),
10
+ Treasure.new(:skillet, 100),
11
+ Treasure.new(:broomstick, 200),
12
+ Treasure.new(:crowbar, 400)
13
+ ]
14
+
15
+ def self.random
16
+ TREASURES.sample
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,35 @@
1
+ require 'studio_game/berserk_player'
2
+
3
+ module StudioGame
4
+
5
+ describe BerserkPlayer do
6
+
7
+ before do
8
+ @initial_health = 50
9
+ @player = BerserkPlayer.new("berz", @initial_health)
10
+ end
11
+
12
+ it "does not go berserk if wooted 5 or less times" do
13
+
14
+ 1.upto(5) {@player.woot}
15
+
16
+ expect(@player.berserk?).to eq(false)
17
+
18
+ end
19
+
20
+ it "goes berserk if wooted 6+ times" do
21
+ 1.upto(6) {@player.woot}
22
+
23
+ expect(@player.berserk?).to eq(true)
24
+ end
25
+
26
+ it "gets wooted insted of blammed when berserk" do
27
+ 1.upto(6) {@player.woot}
28
+ 1.upto(2) {@player.blam}
29
+
30
+ expect(@player.health).to eq(@initial_health + (8 * 10))
31
+ end
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,37 @@
1
+ require 'studio_game/clumsy_player'
2
+
3
+ module StudioGame
4
+
5
+ describe ClumsyPlayer do
6
+
7
+ before do
8
+ @player = ClumsyPlayer.new("klutz")
9
+ end
10
+
11
+ it "only gets half the point value for each treasure" do
12
+
13
+ expect(@player.points).to eq(0)
14
+
15
+ hammer = Treasure.new(:hammer, 50)
16
+ @player.found_treasure(hammer)
17
+ @player.found_treasure(hammer)
18
+ @player.found_treasure(hammer)
19
+
20
+ expect(@player.points).to eq(75)
21
+
22
+ crowbar = Treasure.new(:crowbar, 400)
23
+ @player.found_treasure(crowbar)
24
+
25
+ expect(@player.points).to eq(275)
26
+
27
+ yielded = []
28
+ @player.each_found_treasure do |treasure|
29
+ yielded << treasure
30
+ end
31
+
32
+ expect(yielded).to eq([Treasure.new(:hammer, 75), Treasure.new(:crowbar, 200)])
33
+ end
34
+
35
+ end
36
+
37
+ end
@@ -0,0 +1,54 @@
1
+ require 'studio_game/game'
2
+ # require_relative 'die'
3
+
4
+ module StudioGame
5
+
6
+ describe Game do
7
+ before do
8
+ @game = Game.new("Knuckleheads")
9
+
10
+ @initial_health = 100
11
+ @player = Player.new("moe", @initial_health)
12
+
13
+ @game.add_player(@player)
14
+ end
15
+
16
+ it "woots player if 5 or 6 rolled" do
17
+
18
+ allow_any_instance_of(Die).to receive(:roll).and_return(5)
19
+
20
+ @game.play(2)
21
+
22
+ expect(@player.health).to eq(@initial_health + (10*2))
23
+ end
24
+
25
+ it "does nothing if 3 or 4 is rolled" do
26
+
27
+ allow_any_instance_of(Die).to receive(:roll).and_return(3)
28
+
29
+ @game.play(2)
30
+
31
+ expect(@player.health).to eq(@initial_health)
32
+
33
+ end
34
+
35
+ it "blams player if 1 or 2 is rolled" do
36
+
37
+ allow_any_instance_of(Die).to receive(:roll).and_return(1)
38
+
39
+ @game.play(2)
40
+
41
+ expect(@player.health).to eq(@initial_health - (10*2))
42
+
43
+ end
44
+
45
+ # its "prints out each treasure a player has" do
46
+
47
+
48
+
49
+ end
50
+
51
+ end
52
+ # If a low number (1 or 2) is rolled, we'll blam the player because low rollers aren't very lucky.
53
+ # If a medium number (3 or 4) is rolled, we'll skip the player—we won't change their health value. Instead, we'll print out something like "Curly was skipped."
54
+ # If a high number (5 or 6) is rolled, we'll w00t the player (high fives for the high rollers!)
@@ -0,0 +1,141 @@
1
+ require 'studio_game/player'
2
+
3
+ module StudioGame
4
+
5
+ describe Player do
6
+
7
+ before do
8
+ @initial_health = 150
9
+ @player = Player.new("larry", @initial_health)
10
+ end
11
+
12
+ it "has a capitalized name" do
13
+ expect(@player.name).to eq("Larry")
14
+ end
15
+
16
+ it "has an initial health" do
17
+ expect(@player.health).to eq(150)
18
+ end
19
+
20
+ it "has a string representation" do
21
+ expect(@player.to_s).to eq("Larry has 150HP & 0 Treasure pts for a total of 150GP")
22
+ end
23
+
24
+ it "increases health by 10 when wooted" do
25
+ @player.woot
26
+ @player.health
27
+
28
+ expect(@player.health).to eq(160)
29
+
30
+ end
31
+
32
+ it "decreases health by 10 when blammed" do
33
+ @player.blam
34
+ @player.health
35
+
36
+ expect(@player.health).to eq(140)
37
+ end
38
+
39
+ context "with a health greater than 100" do
40
+ before do
41
+ @player = Player.new("larry", 150)
42
+ end
43
+
44
+ it "is strong" do
45
+ expect(@player.strong?).to eq(true)
46
+ end
47
+
48
+ end
49
+
50
+ context "with a health less than or eq to 100" do
51
+ before do
52
+ @player = Player.new("larry", 100)
53
+ end
54
+
55
+ it "is wimpy" do
56
+ # expect(@player.strong?).to eq(false)
57
+ expect(@player).not_to be_strong
58
+ end
59
+
60
+ end
61
+
62
+ context "in a collection of players" do
63
+
64
+ before do
65
+ @player1 = Player.new("moe", 100)
66
+ @player2 = Player.new("larry", 200)
67
+ @player3 = Player.new("curly", 300)
68
+
69
+ @players = [@player1, @player2, @player3]
70
+ end
71
+
72
+
73
+ it "is sorted by decreasing score" do
74
+ expect(@players.sort).to eq([@player3, @player2, @player1])
75
+ end
76
+
77
+ end
78
+
79
+ it "computes points as the sum of all treasure and health points" do
80
+
81
+ @player.found_treasure(Treasure.new(:hammer, 50))
82
+ @player.found_treasure(Treasure.new(:hammer, 50))
83
+
84
+ expect(@player.score).to eq(250)
85
+ end
86
+
87
+ it "returns each of players treasure objects" do
88
+ @player.found_treasure(Treasure.new(:skillet, 100))
89
+ @player.found_treasure(Treasure.new(:skillet, 100))
90
+ @player.found_treasure(Treasure.new(:hammer, 50))
91
+ @player.found_treasure(Treasure.new(:bottle, 5))
92
+ @player.found_treasure(Treasure.new(:bottle, 5))
93
+ @player.found_treasure(Treasure.new(:bottle, 5))
94
+ @player.found_treasure(Treasure.new(:bottle, 5))
95
+ @player.found_treasure(Treasure.new(:bottle, 5))
96
+
97
+ yielded = []
98
+ @player.each_found_treasure do |treasure|
99
+ yielded << treasure
100
+ end
101
+
102
+ expect(yielded).to eq([
103
+ Treasure.new(:skillet, 200),
104
+ Treasure.new(:hammer, 50),
105
+ Treasure.new(:bottle, 25)
106
+ ])
107
+
108
+ end
109
+
110
+ it "creates a player from csv" do
111
+
112
+ player = Player.from_csv("larry,150")
113
+
114
+ expect(player.name).to eq("Larry")
115
+ expect(player.health).to eq(150)
116
+ end
117
+
118
+
119
+ end
120
+
121
+ end
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
@@ -0,0 +1,53 @@
1
+ require 'studio_game/treasure_trove'
2
+
3
+ module StudioGame
4
+
5
+ describe Treasure do
6
+
7
+ before do
8
+ @treasure = Treasure.new(:hammer, 50)
9
+ end
10
+
11
+ it "has a name attribute" do
12
+ expect(@treasure.name).to eq(:hammer)
13
+ end
14
+
15
+ it "has a points attribute" do
16
+ expect(@treasure.points).to eq(50)
17
+ end
18
+
19
+ end
20
+
21
+ describe TreasureTrove do
22
+
23
+ it "has six treasures" do
24
+ expect(TreasureTrove::TREASURES.size).to eq(6)
25
+ end
26
+
27
+ it "has a pie worth 5 points" do
28
+ expect(TreasureTrove::TREASURES[0]).to eq(Treasure.new(:pie, 5))
29
+ end
30
+
31
+ it "has a bottle worth 25 points" do
32
+ expect(TreasureTrove::TREASURES[1]).to eq(Treasure.new(:bottle, 25))
33
+ end
34
+
35
+ it "has a hammer worth 50 points" do
36
+ expect(TreasureTrove::TREASURES[2]).to eq(Treasure.new(:hammer, 50))
37
+ end
38
+
39
+ it "has a skillet worth 100 points" do
40
+ expect(TreasureTrove::TREASURES[3]).to eq(Treasure.new(:skillet, 100))
41
+ end
42
+
43
+ it "has a broomstick worth 200 points" do
44
+ expect(TreasureTrove::TREASURES[4]).to eq(Treasure.new(:broomstick, 200))
45
+ end
46
+
47
+ it "has a crowbar worth 400 points" do
48
+ expect(TreasureTrove::TREASURES[5]).to eq(Treasure.new(:crowbar, 400))
49
+ end
50
+
51
+ end
52
+
53
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: PRAGMATIC-GEM
3
+ version: !ruby/object:Gem::Version
4
+ version: '1'
5
+ platform: ruby
6
+ authors:
7
+ - ALEX
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: hi you are reading me
28
+ email: alexgpark@gmail.com
29
+ executables:
30
+ - studio_game.rb
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE
35
+ - README
36
+ - bin/high_scores_revised.txt
37
+ - bin/livecoding_fun.csv
38
+ - bin/players.csv
39
+ - bin/studio_game.rb
40
+ - lib/studio_game/auditable.rb
41
+ - lib/studio_game/berserk_player.rb
42
+ - lib/studio_game/clumsy_player.rb
43
+ - lib/studio_game/die.rb
44
+ - lib/studio_game/game.rb
45
+ - lib/studio_game/game_turn.rb
46
+ - lib/studio_game/loaded_die.rb
47
+ - lib/studio_game/playable.rb
48
+ - lib/studio_game/player.rb
49
+ - lib/studio_game/treasure_trove.rb
50
+ - spec/studio_game/berserk_player_spec.rb
51
+ - spec/studio_game/clumsy_player_spec.rb
52
+ - spec/studio_game/game_spec.rb
53
+ - spec/studio_game/player_spec.rb
54
+ - spec/studio_game/treasure_trove_spec.rb
55
+ homepage: http://www.alexgpark.com
56
+ licenses:
57
+ - MIT
58
+ metadata: {}
59
+ post_install_message:
60
+ rdoc_options: []
61
+ require_paths:
62
+ - lib
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '1.9'
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ requirements: []
74
+ rubyforge_project:
75
+ rubygems_version: 2.4.8
76
+ signing_key:
77
+ specification_version: 4
78
+ summary: This is the completed game I created for the Pragmatic Course
79
+ test_files:
80
+ - spec/studio_game/berserk_player_spec.rb
81
+ - spec/studio_game/clumsy_player_spec.rb
82
+ - spec/studio_game/game_spec.rb
83
+ - spec/studio_game/player_spec.rb
84
+ - spec/studio_game/treasure_trove_spec.rb