pleiro_game 1.0.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: b8a1a37e0ec161374f7e151ad6cc248986297895
4
+ data.tar.gz: 0432dfaa31898411aabd929847c287aa82b7c7e2
5
+ SHA512:
6
+ metadata.gz: a89adc79f10ed851b163e4ee71834020c5dcf3184bf39721b71f7ab2a70994a6945e520ad092c487ed460f6aa3385eb8bf9624998740819714624306860c0d52
7
+ data.tar.gz: 01e2c602be822f62d34d8c07b4728a01de9aa5a6afd1da9b7d5450c6b59e7301d8875f4f032e357e4386592069ba6de172c2e6a3d64da5d3462ce14d6f4f72a8
data/LICENSE ADDED
@@ -0,0 +1 @@
1
+ By downloading GEM, you are entitled to use it, but not distribute as your own work. Jesus sees all. Enjoy!
data/README ADDED
@@ -0,0 +1 @@
1
+ Game. Easy. Run game running 'pleiro_game' from command line. Enjoy.
data/bin/players.csv ADDED
@@ -0,0 +1,3 @@
1
+ sean,70
2
+ stephon,80
3
+ cory,90
data/bin/pleiro_game ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/pleiro_game/player'
4
+ require_relative '../lib/pleiro_game/clumsy_player'
5
+ require_relative '../lib/pleiro_game/berserk_player'
6
+ require_relative '../lib/pleiro_game/game'
7
+ require_relative '../lib/pleiro_game/die'
8
+
9
+ game1 = PleiroGame::Game.new("scavenger")
10
+ default_player_file = File.join(File.dirname(__FILE__), 'players.csv')
11
+ game1.load_players(ARGV.shift || default_player_file)
12
+ player4 = PleiroGame::ClumsyPlayer.new('klutz', 105)
13
+ player5 = PleiroGame::BerserkPlayer.new('brent', 50)
14
+ game1.add_player(player4)
15
+ game1.add_player(player5)
16
+
17
+ loop do
18
+ puts "\nHow many game rounds? ('quit' to exit)"
19
+ answer = gets.chomp.downcase
20
+ case answer
21
+ when /^\d+$/
22
+ game1.play(answer.to_i)
23
+ when 'quit', 'exit'
24
+ puts game1.players
25
+ game1.print_stats
26
+ break
27
+ else
28
+ "Please enter an integer or type 'quit' to exit."
29
+ end
30
+ end
31
+
32
+ game1.save_high_scores
@@ -0,0 +1,10 @@
1
+ module PleiroGame
2
+
3
+ module Auditable
4
+ def audit
5
+ self.number
6
+ puts "Rolled a #{self.number} (#{self.class})"
7
+ end
8
+ end
9
+
10
+ end
@@ -0,0 +1,38 @@
1
+ require_relative 'player'
2
+
3
+ module PleiroGame
4
+
5
+ class BerserkPlayer < Player
6
+
7
+ def initialize(name, health=100)
8
+ super(name, health)
9
+ @increased_health_count = 0
10
+ end
11
+
12
+ def berserk?
13
+ @increased_health_count > 5
14
+ end
15
+
16
+ def increase_health
17
+ super
18
+ @increased_health_count += 1
19
+ puts "#{@name} is berserk!" if berserk?
20
+ end
21
+
22
+ def decrease_health
23
+ if berserk?
24
+ increase_health
25
+ else
26
+ super
27
+ end
28
+ end
29
+ end
30
+
31
+ if __FILE__ == $0
32
+ sean = BerserkPlayer.new("sean", 50)
33
+ 6.times { sean.increase_health }
34
+ 2.times { sean.decrease_health }
35
+ puts sean.health
36
+ end
37
+
38
+ end
@@ -0,0 +1,42 @@
1
+ require_relative 'player'
2
+
3
+ module PleiroGame
4
+
5
+ class ClumsyPlayer < Player
6
+ attr_reader :boost
7
+
8
+ def initialize(name, health, boost=1)
9
+ super(name, health)
10
+ @boost = boost
11
+ end
12
+
13
+ def increase_health
14
+ @boost.times { super }
15
+ end
16
+
17
+ def found_treasure(treasure)
18
+ damaged_treasure = Treasure.new(treasure.name, treasure.points / 2.0)
19
+ super(damaged_treasure)
20
+ end
21
+ end
22
+
23
+ if __FILE__ == $0
24
+ clumsy = ClumsyPlayer.new("sean", 105,)
25
+
26
+ hammer = Treasure.new(:hammer, 50)
27
+ clumsy.found_treasure(hammer)
28
+ clumsy.found_treasure(hammer)
29
+ clumsy.found_treasure(hammer)
30
+
31
+ crowbar = Treasure.new(:crowbar, 400)
32
+ clumsy.found_treasure(crowbar)
33
+
34
+ clumsy.each_found_treasure do |treasure|
35
+ puts "#{treasure.points} total #{treasure.name} points"
36
+ end
37
+ puts "#{clumsy.points} grand total points"
38
+ clumsy.increase_health
39
+ puts clumsy.health
40
+ end
41
+
42
+ end
@@ -0,0 +1,21 @@
1
+ require_relative 'auditable'
2
+
3
+ module PleiroGame
4
+
5
+ class Die
6
+ include Auditable
7
+
8
+ attr_reader :number
9
+
10
+ def initialize
11
+ roll
12
+ end
13
+
14
+ def roll
15
+ @number = rand(1..6)
16
+ audit
17
+ @number
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,124 @@
1
+ require_relative 'player'
2
+ require_relative 'game_turn'
3
+ require_relative 'treasure_trove'
4
+ require 'csv'
5
+
6
+ module PleiroGame
7
+
8
+ class Game
9
+ attr_reader :title
10
+ attr_reader :players
11
+
12
+ def initialize(title)
13
+ @title = title.capitalize
14
+ @players = Array.new
15
+ end
16
+
17
+ def load_players(file_name)
18
+ CSV.foreach(file_name) do |row|
19
+ player = Player.new(row[0], row[1].to_i)
20
+ add_player(player)
21
+ end
22
+ end
23
+
24
+ def save_high_scores(to_file="high_scores.txt")
25
+ File.open(to_file, "w") do |file|
26
+ file.puts "#{@title} High Scores:"
27
+ @players.sort.each do |player|
28
+ formated_name = player.name.ljust(20, ".")
29
+ file.puts high_score_entry(player)
30
+ end
31
+ end
32
+ end
33
+
34
+ def add_player(player)
35
+ @player = player
36
+ @players.push(@player)
37
+ puts "#{@player.name} has been added for #{@title}!\n"
38
+ end
39
+
40
+ def play(rounds)
41
+ puts "\nThere are #{@players.length} players in #{@title}!\n\n"
42
+
43
+ 1.upto(rounds) do |rounds|
44
+ if block_given?
45
+ break if yield
46
+ end
47
+ end
48
+
49
+ @players.each do |player|
50
+ puts player
51
+ end
52
+
53
+ treasures = TreasureTrove::TREASURES
54
+ puts "\nThere are #{treasures.count} treasures to be found:"
55
+
56
+ treasures.each do |treasure|
57
+ puts "A #{treasure.name} is worth #{treasure.points} points"
58
+ end
59
+
60
+ 1.upto(rounds) do |round|
61
+ puts "\nRound #{round}:"
62
+ @players.each do |player|
63
+ GameTurn.take_turn(player)
64
+ end
65
+ end
66
+ puts "\n"
67
+ end
68
+
69
+ def print_name_and_health(player)
70
+ puts "#{player.name} (#{player.health})"
71
+ end
72
+
73
+ def print_stats
74
+ strong_players, wimpy_players = @players.partition { |player| player.strong? }
75
+
76
+ puts "\n#{@title}'s Statistics:\n\n"
77
+ puts "#{strong_players.length} strong players:"
78
+ strong_players.each do |player|
79
+ print_name_and_health(player)
80
+ end
81
+
82
+ puts "\n\n#{wimpy_players.length} wimpy players:"
83
+ wimpy_players.each do |player|
84
+ print_name_and_health(player)
85
+ end
86
+
87
+ @players.each do |player|
88
+ puts "\n#{player.name}'s point total:"
89
+ puts "#{player.points} grand total points"
90
+ end
91
+
92
+ puts "\n#{@title}'s High Scores:"
93
+ @players.sort.each do |player|
94
+ puts high_score_entry(player)
95
+ end
96
+
97
+ puts "\n#{total_points} total points from treasures found."
98
+
99
+ @players.sort.each do |player|
100
+ puts "\n#{player.name}'s points totals:"
101
+ player.each_found_treasure do |treasure|
102
+ puts "#{treasure.points} total #{treasure.name} points"
103
+ end
104
+ puts "#{player.points} grand total points"
105
+ end
106
+
107
+ end
108
+
109
+ def high_score_entry(player)
110
+ formatted_name = player.name.ljust(20, '.')
111
+ "#{formatted_name} #{player.score}"
112
+ end
113
+
114
+ def total_points
115
+ @players.reduce(0) { |sum, player| sum + player.points }
116
+ end
117
+ end
118
+
119
+ if __FILE__ == $0
120
+ game1 = Game.new("basketball")
121
+ puts game1.title
122
+ end
123
+
124
+ end
@@ -0,0 +1,24 @@
1
+ require_relative 'player'
2
+ require_relative 'die'
3
+ require_relative 'loaded_die'
4
+
5
+ module PleiroGame
6
+
7
+ module GameTurn
8
+ def self.take_turn(player)
9
+ die = Die.new
10
+ case die.roll
11
+ when 1..2
12
+ player.decrease_health
13
+ when 3..4
14
+ puts "#{player.name} has been skipped!"
15
+ else
16
+ player.increase_health
17
+ end
18
+
19
+ treasure = TreasureTrove.random
20
+ player.found_treasure(treasure)
21
+ end
22
+ end
23
+
24
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'auditable'
2
+
3
+ module PleiroGame
4
+
5
+ class LoadedDie
6
+ include Auditable
7
+
8
+ attr_reader :number
9
+
10
+ def roll
11
+ numbers = [1, 1, 2, 5, 6, 6]
12
+ @number = numbers.sample
13
+ audit
14
+ @number
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,20 @@
1
+ module PleiroGame
2
+
3
+ module Playable
4
+
5
+ def increase_health
6
+ self.health += 10
7
+ puts "#{name} picked up health!"
8
+ end
9
+
10
+ def decrease_health
11
+ self.health -= 5
12
+ puts "#{name} is losing health!"
13
+ end
14
+
15
+ def strong?
16
+ health >= 100
17
+ end
18
+ end
19
+
20
+ end
@@ -0,0 +1,61 @@
1
+ require_relative 'treasure_trove'
2
+ require_relative 'playable'
3
+
4
+ module PleiroGame
5
+
6
+ class Player
7
+ include Playable
8
+
9
+ attr_accessor :health
10
+ attr_reader :name
11
+
12
+
13
+ def initialize(name, health=100)
14
+ @name = name.capitalize
15
+ @health = health
16
+ @found_treasures = Hash.new(0)
17
+ end
18
+
19
+ def self.from_csv(string)
20
+ name, health = string.split(',')
21
+ player = Player.new(name, Integer(health))
22
+ end
23
+
24
+ def found_treasure(treasure)
25
+ @found_treasures[treasure.name] += treasure.points
26
+ puts "#{@name} found a #{treasure.name} worth #{treasure.points} points."
27
+ puts "#{@name}'s treasures: #{@found_treasures}"
28
+ end
29
+
30
+ def each_found_treasure
31
+ @found_treasures.each do |name, points|
32
+ yield Treasure.new(name, points)
33
+ end
34
+ end
35
+
36
+ def points
37
+ @found_treasures.values.reduce(0, :+)
38
+ end
39
+
40
+ def score
41
+ @health + points
42
+ end
43
+
44
+ def <=>(other)
45
+ other.score <=> score
46
+ end
47
+
48
+ def to_s
49
+ "I'm #{@name} with health = #{@health}, points = #{points}, and score = #{score}."
50
+ end
51
+ end
52
+
53
+ if __FILE__ == $0
54
+
55
+ player1 = Player.new("sean", 150)
56
+ puts player1
57
+ puts player1.name
58
+ puts player1.health
59
+ end
60
+
61
+ end
@@ -0,0 +1,22 @@
1
+ module PleiroGame
2
+
3
+ Treasure = Struct.new(:name, :points)
4
+
5
+
6
+ module TreasureTrove
7
+
8
+ TREASURES = [
9
+ Treasure.new(:pie, 5),
10
+ Treasure.new(:bottle, 25),
11
+ Treasure.new(:hammer, 50),
12
+ Treasure.new(:skillet, 100),
13
+ Treasure.new(:broomstick, 200),
14
+ Treasure.new(:crowbar, 400)
15
+ ]
16
+
17
+ def self.random
18
+ TREASURES.sample
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,27 @@
1
+ require 'pleiro_game/berserk_player'
2
+
3
+ module PleiroGame
4
+
5
+ describe BerserkPlayer do
6
+
7
+ before do
8
+ $stdout = StringIO.new
9
+ @initial_health = 50
10
+ @player = BerserkPlayer.new("sean", @initial_health)
11
+ end
12
+
13
+ it "does not go berserk when increased health up to 5 times" do
14
+ 1.upto(5) {@player.increase_health}
15
+
16
+ @player.berserk?.should be_false
17
+ end
18
+
19
+ it "goes berserk when incraesed health more than 5 times" do
20
+ 1.upto(6) {@player.increase_health}
21
+ 1.upto(2) {@player.decrease_health}
22
+
23
+ @player.health.should == @initial_health + (10 * 8)
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,54 @@
1
+ require 'pleiro_game/clumsy_player'
2
+
3
+ module PleiroGame
4
+
5
+ describe ClumsyPlayer do
6
+ before do
7
+ $stdout = StringIO.new
8
+ @player = ClumsyPlayer.new("sean", 105, 2)
9
+ end
10
+
11
+ it "only gets half the point value for each treasure" do
12
+ @player.points.should == 0
13
+
14
+ hammer = Treasure.new(:hammer, 50)
15
+ @player.found_treasure(hammer)
16
+ @player.found_treasure(hammer)
17
+ @player.found_treasure(hammer)
18
+
19
+ @player.points.should == 75
20
+
21
+ crowbar = Treasure.new(:crowbar, 400)
22
+ @player.found_treasure(crowbar)
23
+
24
+ @player.points.should == 275
25
+
26
+ yielded = []
27
+ @player.each_found_treasure do |treasure|
28
+ yielded << treasure
29
+ end
30
+
31
+ yielded.should == [Treasure.new(:hammer, 75), Treasure.new(:crowbar, 200)]
32
+ end
33
+
34
+ context "with a boost factor" do
35
+ before do
36
+ @initial_health = 100
37
+ @boost = 5
38
+ @player = ClumsyPlayer.new("sean", @initial_health, @boost)
39
+ end
40
+
41
+ it "has a boost factor" do
42
+ @player.boost.should == 5
43
+ end
44
+
45
+ it "gets boost factor number of increased health when health is increased" do
46
+ @player.increase_health
47
+
48
+ @player.health.should == @initial_health + (10 * @boost)
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -0,0 +1,73 @@
1
+ require 'pleiro_game/game'
2
+ require 'pleiro_game/die'
3
+
4
+ module PleiroGame
5
+
6
+ describe Game do
7
+
8
+ before do
9
+ $stdout = StringIO.new
10
+ @game = Game.new("basketball")
11
+
12
+ @initial_health = 100
13
+ @player = Player.new("sean", @initial_health)
14
+
15
+ @game.add_player(@player)
16
+ end
17
+
18
+ it "increaes the player's health" do
19
+ Die.any_instance.stub(:roll).and_return(5)
20
+
21
+ @game.play(2)
22
+
23
+ @player.health.should == @initial_health + (10 * 2)
24
+ end
25
+
26
+ it "skips the player's health" do
27
+ Die.any_instance.stub(:roll).and_return(3)
28
+
29
+ @game.play(2)
30
+
31
+ @player.health.should == @initial_health
32
+ end
33
+
34
+ it "decreases the player's health" do
35
+ Die.any_instance.stub(:roll).and_return(1)
36
+
37
+ @game.play(2)
38
+
39
+ @player.health.should == @initial_health - (5 * 2)
40
+ end
41
+
42
+ it "assigns a treasure for poitns during a player's turn" do
43
+ game = Game.new("scavenger")
44
+ player = Player.new("sean")
45
+
46
+ game.add_player(player)
47
+
48
+ game.play(1)
49
+
50
+ player.points.should_not be_zero
51
+ end
52
+
53
+ it "computes total points as the sum of all player points" do
54
+ game = Game.new("scavenger")
55
+
56
+ player1 = Player.new("sean")
57
+ player2 = Player.new("stephon")
58
+
59
+ game.add_player(player1)
60
+ game.add_player(player2)
61
+
62
+ player1.found_treasure(Treasure.new(:hammer, 50))
63
+ player1.found_treasure(Treasure.new(:hammer, 50))
64
+ player2.found_treasure(Treasure.new(:crowbar, 400))
65
+
66
+ game.total_points.should == 500
67
+ end
68
+ end
69
+
70
+ end
71
+
72
+
73
+
@@ -0,0 +1,129 @@
1
+ require 'pleiro_game/player'
2
+ require 'pleiro_game/treasure_trove'
3
+
4
+ module PleiroGame
5
+
6
+ describe Player do
7
+ before do
8
+ $stdout = StringIO.new
9
+ @initial_health = 150
10
+ @player = Player.new("sean", @initial_health)
11
+ end
12
+
13
+ it "has a capitalized name" do
14
+ @player.name.should == "Sean"
15
+ end
16
+
17
+ it "has an initial health" do
18
+
19
+ @player.health.should == @initial_health
20
+ end
21
+
22
+ it "has a string representation" do
23
+ @player.found_treasure(Treasure.new(:hammer, 50))
24
+ @player.found_treasure(Treasure.new(:hammer, 50))
25
+
26
+ @player.to_s.should == "I'm Sean with health = 150, points = 100, and score = 250."
27
+ end
28
+
29
+ it "computes a score as the sum of its health and points" do
30
+ @player.found_treasure(Treasure.new(:hammer, 50))
31
+ @player.found_treasure(Treasure.new(:hammer, 50))
32
+
33
+ @player.score.should == 250
34
+ end
35
+
36
+ it "increases health by 10 when health is increased" do
37
+ @player.increase_health
38
+
39
+ @player.health.should == @initial_health + 10
40
+ end
41
+
42
+ it "decreases health by 5 when health is decreased" do
43
+ @player.decrease_health
44
+
45
+ @player.health.should == @initial_health - 5
46
+ end
47
+
48
+ context "this player is strong" do
49
+ before do
50
+ @player = Player.new("sean", 150)
51
+ end
52
+
53
+ it "has to be a strong player" do
54
+
55
+ @player.should be_strong
56
+ end
57
+ end
58
+
59
+ it "computes points as the sum of all treasure points" do
60
+ @player.points.should == 0
61
+
62
+ @player.found_treasure(Treasure.new(:hammer, 50))
63
+
64
+ @player.points.should == 50
65
+
66
+ @player.found_treasure(Treasure.new(:crowbar, 400))
67
+
68
+ @player.points.should == 450
69
+
70
+ @player.found_treasure(Treasure.new(:hammer, 50))
71
+
72
+ @player.points.should == 500
73
+ end
74
+
75
+ it "yields each found treasure and its total poitns" do
76
+ @player.found_treasure(Treasure.new(:skillet, 100))
77
+ @player.found_treasure(Treasure.new(:skillet, 100))
78
+ @player.found_treasure(Treasure.new(:hammer, 50))
79
+ @player.found_treasure(Treasure.new(:bottle, 5))
80
+ @player.found_treasure(Treasure.new(:bottle, 5))
81
+ @player.found_treasure(Treasure.new(:bottle, 5))
82
+ @player.found_treasure(Treasure.new(:bottle, 5))
83
+ @player.found_treasure(Treasure.new(:bottle,5))
84
+
85
+ yielded = []
86
+ @player.each_found_treasure do |treasure|
87
+ yielded << treasure
88
+ end
89
+
90
+ yielded.should == [
91
+ Treasure.new(:skillet, 200),
92
+ Treasure.new(:hammer, 50),
93
+ Treasure.new(:bottle, 25)
94
+ ]
95
+ end
96
+
97
+ it "can be created from a CSV string" do
98
+ player = Player.from_csv("sean,150")
99
+
100
+ player.name.should == "Sean"
101
+ player.health.should == 150
102
+ end
103
+
104
+ context "this player is wimpy" do
105
+ before do
106
+ @player = Player.new("sean", 99)
107
+ end
108
+
109
+ it "has to be a wimpy player" do
110
+ @player.should_not be_strong
111
+ end
112
+ end
113
+
114
+ context "in a collection of players" do
115
+ before do
116
+ @player1 = Player.new("sean", 100)
117
+ @player2 = Player.new("stephon", 200)
118
+ @player3 = Player.new("cory", 300)
119
+
120
+ @players = [@player1, @player2, @player3]
121
+ end
122
+
123
+ it "is sorted by decreasing score" do
124
+ @players.sort.should == [@player3, @player2, @player1]
125
+ end
126
+ end
127
+ end
128
+
129
+ end
@@ -0,0 +1,58 @@
1
+ require 'pleiro_game/treasure_trove'
2
+
3
+ module PleiroGame
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
+ @treasure.name.should == :hammer
13
+ end
14
+
15
+ it "has a points attribute" do
16
+ @treasure.points.should == 50
17
+ end
18
+ end
19
+
20
+ describe TreasureTrove do
21
+
22
+ it "has six treasures" do
23
+ TreasureTrove::TREASURES.count.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
+ end
55
+
56
+ end
57
+
58
+ end
metadata ADDED
@@ -0,0 +1,81 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pleiro_game
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sean Livingston
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-21 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: Game. Easy. Run game running 'pleiro_game' from command line. Enjoy.
28
+ email: sean.d.livingston@gmail.com
29
+ executables:
30
+ - pleiro_game
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE
35
+ - README
36
+ - bin/players.csv
37
+ - bin/pleiro_game
38
+ - lib/pleiro_game/auditable.rb
39
+ - lib/pleiro_game/berserk_player.rb
40
+ - lib/pleiro_game/clumsy_player.rb
41
+ - lib/pleiro_game/die.rb
42
+ - lib/pleiro_game/game.rb
43
+ - lib/pleiro_game/game_turn.rb
44
+ - lib/pleiro_game/loaded_die.rb
45
+ - lib/pleiro_game/playable.rb
46
+ - lib/pleiro_game/player.rb
47
+ - lib/pleiro_game/treasure_trove.rb
48
+ - spec/pleiro_game/berserk_player_spec.rb
49
+ - spec/pleiro_game/clumsy_player_spec.rb
50
+ - spec/pleiro_game/game_spec.rb
51
+ - spec/pleiro_game/player_spec.rb
52
+ - spec/pleiro_game/treasure_trove_spec.rb
53
+ homepage: http://gospelofjesusglory.com
54
+ licenses: []
55
+ metadata: {}
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '1.9'
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubyforge_project:
72
+ rubygems_version: 2.2.1
73
+ signing_key:
74
+ specification_version: 4
75
+ summary: Short Text Game With Treasures
76
+ test_files:
77
+ - spec/pleiro_game/clumsy_player_spec.rb
78
+ - spec/pleiro_game/player_spec.rb
79
+ - spec/pleiro_game/treasure_trove_spec.rb
80
+ - spec/pleiro_game/game_spec.rb
81
+ - spec/pleiro_game/berserk_player_spec.rb