studio_game_davidb583 5.8.3

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: 0efa16ba938b99399acbd177fbdff113e91e9dc2
4
+ data.tar.gz: 1bb7967c8e3ba3b473e63625b6d70e0e5d5817a0
5
+ SHA512:
6
+ metadata.gz: a6e4c25ec19a5239cd2d03d100a54c890375486d58e6edb22408df238475d0a104184caf16a41743ac6e9f154152b30674638f5f3472704615175a39bae4d3f7
7
+ data.tar.gz: 7a1d5cb21576d514d5807631b13c6662d1fd02b55e6f6ee7821afbc9db330490266be98164baa95f584b3bdecee3a1164ab86bb8de5d98f1f9e865044a83d909
data/LICENSE ADDED
@@ -0,0 +1 @@
1
+ Copyright (c) David B.
data/README ADDED
@@ -0,0 +1,7 @@
1
+ # my first gem
2
+
3
+ This is one hell of a program : my first ruby gem
4
+
5
+ ## Installation
6
+
7
+ Don't know yet
data/bin/players.csv ADDED
@@ -0,0 +1,3 @@
1
+ Alvin,100
2
+ Simon,60
3
+ Theo,125
data/bin/studio_game ADDED
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/studio_game_module/game'
4
+ require_relative '../lib/studio_game_module/clumsy_player'
5
+ require_relative '../lib/studio_game_module/berserk_player'
6
+
7
+
8
+ knuckleheads = StudioGameModule::Game.new("Knuckleheads")
9
+
10
+ puts knuckleheads.title
11
+
12
+ knuckleheads.load_players ARGV.shift || "players.csv"
13
+
14
+ clumsy = StudioGameModule::ClumsyPlayer.new("klutz", 105)
15
+ knuckleheads.add_player(clumsy)
16
+
17
+ berserker = StudioGameModule::BerserkPlayer.new("berserker", 50)
18
+ knuckleheads.add_player(berserker)
19
+
20
+ loop do
21
+ puts "How many game rounds? ('quit' to exit)"
22
+ rounds = gets.chomp.downcase
23
+
24
+ case rounds.to_s
25
+ when rounds.to_i.to_s # check that inputs is numeric
26
+ knuckleheads.play(rounds.to_i)
27
+ when 'quit', 'exit'
28
+ knuckleheads.print_stats
29
+ break
30
+ else
31
+ puts "Please enter a number or 'quit'"
32
+ end
33
+
34
+ end
35
+ knuckleheads.save_high_scores
36
+
37
+ # player1 = Player.new("moe")
38
+ # player2 = Player.new("larry", 60)
39
+ # player3 = Player.new("curly", 125)
40
+ # player4 = Player.new("shemp", 90)
41
+
42
+ # players = [player1, player2, player3]
43
+
44
+ # players.pop
45
+ # players << player4
46
+
47
+ # puts "There are #{players.length} players in the game"
48
+
49
+ # players.each do |p|
50
+ # p.blam
51
+ # p.w00t
52
+ # p.blam
53
+ # puts p
54
+ # end
55
+
56
+ # puts player3
57
+ # player3.blam
58
+ # puts player3
59
+ # player3.w00t
60
+ # puts player3
61
+
62
+ # player2.w00t
63
+ # player1.w00t
64
+
65
+ # puts player1
66
+ # puts player2
67
+ # puts player3
68
+
69
+
70
+
@@ -0,0 +1,7 @@
1
+ module StudioGameModule
2
+ module Auditable
3
+ def audit
4
+ puts "Rolled a #{self.number} (#{self.class})"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,31 @@
1
+ require_relative "player"
2
+
3
+ module StudioGameModule
4
+ class BerserkPlayer < Player
5
+ def initialize(name, health=100)
6
+ super(name, health)
7
+ @w00t_count = 0
8
+ end
9
+
10
+ def berserk?
11
+ @w00t_count > 5
12
+ end
13
+
14
+ def w00t
15
+ super
16
+ @w00t_count += 1
17
+ puts "#{@name} is berserk!" if berserk?
18
+ end
19
+
20
+ def blam
21
+ berserk? ? w00t : super
22
+ end
23
+ end
24
+
25
+ if __FILE__ == $0
26
+ berserker = BerserkPlayer.new("berserker", 50)
27
+ 6.times { berserker.w00t }
28
+ 2.times { berserker.blam }
29
+ puts berserker.health
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ require_relative "player"
2
+
3
+ module StudioGameModule
4
+ class ClumsyPlayer < Player
5
+ def found_treasure(treasure)
6
+ # pts = treasure.points / 2.0
7
+ # @found_treasures[treasure.name] += pts
8
+ # puts "#{@name} found a #{treasure.name} worth #{pts} points."
9
+ damaged_treasure = Treasure.new(treasure.name, treasure.points / 2.0)
10
+ super(damaged_treasure)
11
+ end
12
+ end
13
+
14
+ if __FILE__ == $0
15
+ clumsy = ClumsyPlayer.new("klutz")
16
+
17
+ hammer = Treasure.new(:hammer, 50)
18
+ clumsy.found_treasure(hammer)
19
+ clumsy.found_treasure(hammer)
20
+ clumsy.found_treasure(hammer)
21
+
22
+ crowbar = Treasure.new(:crowbar, 400)
23
+ clumsy.found_treasure(crowbar)
24
+
25
+ clumsy.each_found_treasure do |treasure|
26
+ puts "#{treasure.points} total #{treasure.name} points"
27
+ end
28
+ puts "#{clumsy.points} grand total points"
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ require_relative 'auditable'
2
+
3
+ module StudioGameModule
4
+ class Die
5
+ include Auditable
6
+
7
+ attr_reader :number
8
+ def initialize
9
+ roll
10
+ end
11
+ def roll
12
+ @number = rand 1..6
13
+ audit
14
+ @number
15
+ end
16
+ end
17
+
18
+ if __FILE__ == $0
19
+ die = Die.new
20
+ puts die.number
21
+ end
22
+ end
@@ -0,0 +1,118 @@
1
+ require_relative "player"
2
+ require_relative "die"
3
+ require_relative 'game_turn'
4
+ require_relative 'treasure_trove'
5
+
6
+ module StudioGameModule
7
+ class Game
8
+ attr_reader :title
9
+ def initialize(title)
10
+ @title = title
11
+ @players = []
12
+ end
13
+
14
+ def add_player(player)
15
+ @players << player
16
+ end
17
+ def load_players(filename="players.csv")
18
+ File.readlines(filename).each do |line|
19
+ add_player(Player.from_csv(line))
20
+ end
21
+ end
22
+ def save_high_scores(filename="high_scores.txt")
23
+ File.open(filename, "w") do |file|
24
+ file.puts("Knuckleheads High Scores:")
25
+ @players.sort.each do |p|
26
+ file.puts formatted_player(p)
27
+ end
28
+ end
29
+ end
30
+ def play(rounds)
31
+ puts "There are #{@players.size} players in #{@title}: "
32
+
33
+ display_players
34
+
35
+ display_treasures(TreasureTrove::TREASURES)
36
+
37
+ 1.upto(rounds) do |r|
38
+ puts "\nRound #{r}:"
39
+ @players.each do |p|
40
+ GameTurn.take_turn(p)
41
+ puts p
42
+ end
43
+ end
44
+ end
45
+
46
+ def print_stats
47
+ strongs = @players.select {|n| n.strong?}
48
+ wimpies = @players.reject {|n| n.strong?}
49
+ #puts strongs.size
50
+
51
+ puts ""
52
+ puts "Knuckleheads Statistics:"
53
+ display_player_stats("strong", strongs)
54
+ display_player_stats("wimpy", wimpies)
55
+
56
+ puts ""
57
+ puts "Knuckleheads High Scores:"
58
+ display_players_score
59
+
60
+ # puts ""
61
+ # display_total_points
62
+
63
+ puts ""
64
+ display_total_points_per_player
65
+ end
66
+
67
+ private
68
+ def formatted_player(player)
69
+ "#{player.name.ljust(30, '.')} (#{player.score})"
70
+ end
71
+ def display_total_points_per_player
72
+ @players.each do |p|
73
+ puts ""
74
+ puts "#{p.name} point totals:"
75
+ p.each_found_treasure do |treasure|
76
+ puts "#{treasure.points} total #{treasure.name} points"
77
+ end
78
+ puts "#{p.points} grand total points"
79
+ end
80
+ end
81
+ def display_total_points
82
+ @players.each do |p|
83
+ puts "#{p.name} point totals:"
84
+ puts "#{p.points} grand total points"
85
+ puts ""
86
+ end
87
+ end
88
+ def display_players
89
+ @players.each do |p|
90
+ puts p
91
+ end
92
+ end
93
+ def display_treasures(treasures)
94
+ puts ""
95
+ puts "number of treasures : #{treasures.size}"
96
+ treasures.each do |t|
97
+ puts "A #{t.name} is worth #{t.points} points"
98
+ end
99
+ end
100
+ def display_player_stats(kind, players_array)
101
+ puts ""
102
+ puts "#{players_array.size} #{kind} players"
103
+ players_array.each do |p|
104
+ puts "#{p.name} (#{p.health})"
105
+ end
106
+ end
107
+ def display_players_score
108
+ # sorted_players = @players.sort { |a,b| b.score <=> a.score }
109
+ # sorted_players.each do |p|
110
+ # puts "#{p.name.ljust(30, '.')} (#{p.score})"
111
+ # end
112
+ @players.sort.each do |p|
113
+ puts formatted_player(p)
114
+ end
115
+ end
116
+ end
117
+
118
+ end
@@ -0,0 +1,29 @@
1
+ require_relative "die"
2
+ require_relative "player"
3
+ require_relative "treasure_trove"
4
+ require_relative "loaded_die"
5
+
6
+ module StudioGameModule
7
+ module GameTurn
8
+ def self.take_turn(player)
9
+
10
+ die = Die.new
11
+ number_rolled = die.roll
12
+ case number_rolled
13
+ when 5..6
14
+ player.w00t
15
+ when 1..2
16
+ player.blam
17
+ else
18
+ puts "#{player.name} was skipped"
19
+ end
20
+
21
+ t = TreasureTrove.random
22
+
23
+ #puts "#{player.name} found a #{t.name} worth #{t.points}."
24
+
25
+ player.found_treasure(t)
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,16 @@
1
+ require_relative 'auditable'
2
+
3
+ module StudioGameModule
4
+ class LoadedDie
5
+ include Auditable
6
+
7
+ attr_reader :number
8
+
9
+ def roll
10
+ numbers = [1, 1, 2, 5, 6, 6]
11
+ @number = numbers.sample
12
+ audit
13
+ @number
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ module StudioGameModule
2
+ module Playable
3
+ def blam
4
+ puts "#{@name} got blammed!"
5
+ @health -= 10
6
+ end
7
+
8
+ def w00t
9
+ puts "#{@name} got w00ted!"
10
+ @health += 15
11
+ end
12
+
13
+ def strong?
14
+ @health >= 100 ? true : false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,55 @@
1
+ require_relative 'treasure_trove'
2
+ require_relative 'playable'
3
+
4
+ module StudioGameModule
5
+ class Player
6
+ include Playable
7
+
8
+ attr_reader :health, :name
9
+
10
+ def initialize(name, health=100)
11
+ @name = name.capitalize
12
+ @health = health.to_i
13
+ @found_treasures = Hash.new(0)
14
+ end
15
+
16
+ def self.from_csv(val)
17
+ name, health = val.split(",")
18
+ Player.new(name, Integer(health))
19
+ end
20
+
21
+ def each_found_treasure
22
+ @found_treasures.each do |name, points|
23
+ yield Treasure.new(name, points)
24
+ end
25
+ end
26
+
27
+ def to_s
28
+ "I'm #{@name} with health = #{@health}, points = #{points}, and score = #{score}."
29
+ end
30
+ def score
31
+ @health + points
32
+ end
33
+ def found_treasure(treasure)
34
+ @found_treasures[treasure.name] += treasure.points
35
+ puts "I'm #{@name}, I found #{treasure.name} worth #{treasure.points}"
36
+ puts "#{@name}'s treasures #{@found_treasures}"
37
+ end
38
+ def points
39
+ @found_treasures.values.reduce(0, :+)
40
+ end
41
+ def <=>(other)
42
+ other.score <=> score
43
+ end
44
+ end
45
+
46
+ if __FILE__ == $0
47
+ player = Player.new("moe")
48
+ puts player.name
49
+ puts player.health
50
+ player.w00t
51
+ puts player.health
52
+ player.blam
53
+ puts player.health
54
+ end
55
+ end
@@ -0,0 +1,21 @@
1
+ module StudioGameModule
2
+ Treasure = Struct.new(:name, :points)
3
+
4
+ module TreasureTrove
5
+ TREASURES = [
6
+ Treasure.new(:pie, 5),
7
+ Treasure.new(:bottle, 25),
8
+ Treasure.new(:hammer, 50),
9
+ Treasure.new(:skillet, 100),
10
+ Treasure.new(:broomstick, 200),
11
+ Treasure.new(:crowbar, 400),
12
+ ]
13
+
14
+ def self.random
15
+ TREASURES[rand 0..TREASURES.size-1] # pb here with size?
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,37 @@
1
+ require 'studio_game_module/berserk_player'
2
+
3
+ module StudioGameModule
4
+ describe BerserkPlayer do
5
+
6
+ before do
7
+ @initial_health = 50
8
+ @player = BerserkPlayer.new("berserker", @initial_health)
9
+ end
10
+
11
+ it "does not go berserk when w00ted up to 5 times" do
12
+ 1.upto(5) { @player.w00t }
13
+
14
+ #@player.berserk?.should be_false
15
+
16
+ #or if using Rspec 3.0:
17
+ @player.berserk?.should be_falsey
18
+ end
19
+
20
+ it "goes berserk when w00ted more than 5 times" do
21
+ 1.upto(6) { @player.w00t }
22
+
23
+ # @player.berserk?.should be_true
24
+
25
+ #or if using Rspec 3.0:
26
+ @player.berserk?.should be_truthy
27
+ end
28
+
29
+ it "gets w00ted instead of blammed when it's gone berserk" do
30
+ 1.upto(6) { @player.w00t }
31
+ 1.upto(2) { @player.blam }
32
+
33
+ @player.health.should == @initial_health + (8 * 15)
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,33 @@
1
+ require 'studio_game_module/clumsy_player'
2
+
3
+ module StudioGameModule
4
+ describe ClumsyPlayer do
5
+ before do
6
+ @player = ClumsyPlayer.new("klutz")
7
+ end
8
+
9
+ it "only gets half the point value for each treasure" do
10
+ @player.points.should == 0
11
+
12
+ hammer = Treasure.new(:hammer, 50)
13
+ @player.found_treasure(hammer)
14
+ @player.found_treasure(hammer)
15
+ @player.found_treasure(hammer)
16
+
17
+ @player.points.should == 75
18
+
19
+ crowbar = Treasure.new(:crowbar, 400)
20
+ @player.found_treasure(crowbar)
21
+
22
+ @player.points.should == 275
23
+
24
+ yielded = []
25
+ @player.each_found_treasure do |treasure|
26
+ yielded << treasure
27
+ end
28
+
29
+ yielded.should == [Treasure.new(:hammer, 75), Treasure.new(:crowbar, 200)]
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,49 @@
1
+ require 'studio_game_module/game'
2
+
3
+ module StudioGameModule
4
+ describe Game do
5
+
6
+ before do
7
+ @game = Game.new("Knuckleheads")
8
+
9
+ @initial_health = 100
10
+ @player = Player.new("moe", @initial_health)
11
+
12
+ @game.add_player(@player)
13
+ end
14
+
15
+ it "should be healthier if roll dice > = 5" do
16
+ allow_any_instance_of(Die).to receive(:roll).and_return(5)
17
+ @player.health.should == 100
18
+ @game.play(2)
19
+ @player.health.should == 130
20
+ end
21
+
22
+ it "should be same health if roll dice > = 3" do
23
+ allow_any_instance_of(Die).to receive(:roll).and_return(3)
24
+ @player.health.should == 100
25
+ @game.play(2)
26
+ @player.health.should == 100
27
+ end
28
+
29
+ it "should be healthier if roll dice < = 2" do
30
+ allow_any_instance_of(Die).to receive(:roll).and_return(2)
31
+ @player.health.should == 100
32
+ @game.play(2)
33
+ @player.health.should == 80
34
+ end
35
+ it "assigns a treasure for points during a player's turn" do
36
+ game = Game.new("Knuckleheads")
37
+ player = Player.new("moe")
38
+
39
+ game.add_player(player)
40
+
41
+ game.play(1)
42
+
43
+ player.points.should_not be_zero
44
+
45
+ # or use alternate expectation syntax:
46
+ # expect(player.points).not_to be_zero
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,116 @@
1
+ require 'studio_game_module/player'
2
+ require 'studio_game_module/treasure_trove'
3
+
4
+ module StudioGameModule
5
+ describe Player do
6
+
7
+
8
+ before do
9
+ @initial_health = 150
10
+ @player = Player.new("larry", @initial_health)
11
+ end
12
+ it "has a capitalized name" do
13
+ @player.name.should == "Larry"
14
+ end
15
+ it "has an initial health" do
16
+ @player.health.should == 150
17
+ end
18
+ it "has a string representation" do
19
+ @player.found_treasure(Treasure.new(:hammer, 50))
20
+ @player.found_treasure(Treasure.new(:hammer, 50))
21
+
22
+ @player.to_s.should == "I'm Larry with health = 150, points = 100, and score = 250."
23
+ end
24
+ it "computes a score as the sum of its health and points" do
25
+ @player.found_treasure(Treasure.new(:hammer, 50))
26
+ @player.found_treasure(Treasure.new(:hammer, 50))
27
+
28
+ @player.score.should == 250
29
+ end
30
+
31
+ it "increases health by 15 when w00ted" do
32
+ @player.w00t
33
+ @player.health.should == 165
34
+ end
35
+
36
+ it "decreases health by 10 when blammed" do
37
+ @player.blam
38
+ @player.health.should == 140
39
+ end
40
+
41
+ context "in a collection of players" do
42
+ before do
43
+ @player1 = Player.new("moe", 100)
44
+ @player2 = Player.new("larry", 200)
45
+ @player3 = Player.new("curly", 300)
46
+
47
+ @players = [@player1, @player2, @player3]
48
+ end
49
+
50
+ it "is sorted by decreasing score" do
51
+ @players.sort.should == [@player3, @player2, @player1]
52
+ end
53
+ end
54
+
55
+ context "with a health greater than 100" do
56
+ before do
57
+ @player = Player.new("hulk", 150)
58
+ end
59
+
60
+ it "should be a strong player" do
61
+ @player.should be_strong
62
+ end
63
+ end
64
+ context "with a health lower than 100" do
65
+ before do
66
+ @player = Player.new("bony", 33)
67
+ end
68
+
69
+ it "should not be a strong player" do
70
+ @player.should_not be_strong
71
+ end
72
+ end
73
+ it "computes points as the sum of all treasure points" do
74
+ @player.points.should == 0
75
+
76
+ @player.found_treasure(Treasure.new(:hammer, 50))
77
+
78
+ @player.points.should == 50
79
+
80
+ @player.found_treasure(Treasure.new(:crowbar, 400))
81
+
82
+ @player.points.should == 450
83
+
84
+ @player.found_treasure(Treasure.new(:hammer, 50))
85
+
86
+ @player.points.should == 500
87
+ end
88
+ it "yields each found treasure and its total points" do
89
+ @player.found_treasure(Treasure.new(:skillet, 100))
90
+ @player.found_treasure(Treasure.new(:skillet, 100))
91
+ @player.found_treasure(Treasure.new(:hammer, 50))
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
+ @player.found_treasure(Treasure.new(:bottle, 5))
97
+
98
+ yielded = []
99
+ @player.each_found_treasure do |treasure|
100
+ yielded << treasure
101
+ end
102
+
103
+ yielded.should == [
104
+ Treasure.new(:skillet, 200),
105
+ Treasure.new(:hammer, 50),
106
+ Treasure.new(:bottle, 25)
107
+ ]
108
+ end
109
+ it "can be created from a CSV string" do
110
+ player = Player.from_csv("larry,150")
111
+
112
+ player.name.should == "Larry"
113
+ player.health.should == 150
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,59 @@
1
+ require 'studio_game_module/treasure_trove'
2
+
3
+ module StudioGameModule
4
+ describe Treasure do
5
+
6
+ before do
7
+ @treasure = Treasure.new(:hammer, 50)
8
+ end
9
+
10
+ it "has a name attribute" do
11
+ @treasure.name.should == :hammer
12
+ end
13
+
14
+ it "has a points attribute" do
15
+ @treasure.points.should == 50
16
+ end
17
+
18
+ end
19
+
20
+ describe TreasureTrove do
21
+
22
+ it "has six treasures" do
23
+ TreasureTrove::TREASURES.size.should == 6
24
+ end
25
+
26
+ it "has a pie worth 5 points" do
27
+ TreasureTrove::TREASURES[0].should == Treasure.new(:pie, 5)
28
+ end
29
+
30
+ it "has a bottle worth 25 points" do
31
+ TreasureTrove::TREASURES[1].should == Treasure.new(:bottle, 25)
32
+ end
33
+
34
+ it "has a hammer worth 50 points" do
35
+ TreasureTrove::TREASURES[2].should == Treasure.new(:hammer, 50)
36
+ end
37
+
38
+ it "has a skillet worth 100 points" do
39
+ TreasureTrove::TREASURES[3].should == Treasure.new(:skillet, 100)
40
+ end
41
+
42
+ it "has a broomstick worth 200 points" do
43
+ TreasureTrove::TREASURES[4].should == Treasure.new(:broomstick, 200)
44
+ end
45
+
46
+ it "has a crowbar worth 400 points" do
47
+ TreasureTrove::TREASURES[5].should == Treasure.new(:crowbar, 400)
48
+ end
49
+
50
+ it "returns a random treasure" do
51
+ treasure = TreasureTrove.random
52
+
53
+ TreasureTrove::TREASURES.should include(treasure)
54
+
55
+ # or use alternate expectation syntax:
56
+ # expect(TreasureTrove::TREASURES).to include(treasure)
57
+ end
58
+ end
59
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: studio_game_davidb583
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.8.3
5
+ platform: ruby
6
+ authors:
7
+ - david b
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-08-18 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: |
28
+ # my first gem
29
+
30
+ This is one hell of a program : my first ruby gem
31
+
32
+ ## Installation
33
+
34
+ Don't know yet
35
+ email: fishing_junk@yahoo.fr
36
+ executables:
37
+ - studio_game
38
+ extensions: []
39
+ extra_rdoc_files: []
40
+ files:
41
+ - LICENSE
42
+ - README
43
+ - bin/players.csv
44
+ - bin/studio_game
45
+ - lib/studio_game_module/auditable.rb
46
+ - lib/studio_game_module/berserk_player.rb
47
+ - lib/studio_game_module/clumsy_player.rb
48
+ - lib/studio_game_module/die.rb
49
+ - lib/studio_game_module/game.rb
50
+ - lib/studio_game_module/game_turn.rb
51
+ - lib/studio_game_module/loaded_die.rb
52
+ - lib/studio_game_module/playable.rb
53
+ - lib/studio_game_module/player.rb
54
+ - lib/studio_game_module/treasure_trove.rb
55
+ - spec/studio_game_module/berserk_player_spec.rb
56
+ - spec/studio_game_module/clumsy_player_spec.rb
57
+ - spec/studio_game_module/game_spec.rb
58
+ - spec/studio_game_module/player_spec.rb
59
+ - spec/studio_game_module/treasure_trove_spec.rb
60
+ homepage: http://sfeir.com
61
+ licenses:
62
+ - MIT
63
+ metadata: {}
64
+ post_install_message:
65
+ rdoc_options: []
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '1.9'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ requirements: []
79
+ rubyforge_project:
80
+ rubygems_version: 2.2.2
81
+ signing_key:
82
+ specification_version: 4
83
+ summary: first attempt of gem file
84
+ test_files:
85
+ - spec/studio_game_module/berserk_player_spec.rb
86
+ - spec/studio_game_module/clumsy_player_spec.rb
87
+ - spec/studio_game_module/game_spec.rb
88
+ - spec/studio_game_module/player_spec.rb
89
+ - spec/studio_game_module/treasure_trove_spec.rb