greed_game 0.0.2 → 0.0.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.
- data/lib/greed_game.rb +25 -16
- data/lib/greed_game/version.rb +1 -1
- metadata +4 -4
data/lib/greed_game.rb
CHANGED
@@ -11,6 +11,7 @@ module GreedGame
|
|
11
11
|
def initialize(*names)
|
12
12
|
raise "It should be 2 or more players in the game" if names.size < 2
|
13
13
|
@dices = 5
|
14
|
+
@max_score = 0
|
14
15
|
@players = Array.new
|
15
16
|
names.each do |name|
|
16
17
|
@players << Player.new(name)
|
@@ -18,30 +19,38 @@ module GreedGame
|
|
18
19
|
end
|
19
20
|
|
20
21
|
def in_progress
|
21
|
-
|
22
|
-
|
23
|
-
while max_score < 3000 or not last_round
|
22
|
+
while next_round?
|
23
|
+
calculate_max_score
|
24
24
|
@players.each do |player|
|
25
25
|
player.roll(@dices)
|
26
26
|
end
|
27
|
-
player_whith_max_score = @players.max_by {|players| players.score_total }
|
28
|
-
last_round = true if max_score >= 3000
|
29
|
-
max_score = player_whith_max_score.score_total
|
30
27
|
end
|
28
|
+
winner
|
29
|
+
end
|
30
|
+
|
31
|
+
def finished
|
32
|
+
return "#{@winner[0].name} is winner" if @winner.count == 1
|
33
|
+
"Winner is absent"
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def next_round?
|
39
|
+
@max_score < 3000 ? true : false
|
40
|
+
end
|
41
|
+
|
42
|
+
def calculate_max_score
|
43
|
+
player_whith_max_score = @players.max_by {|players| players.score_total }
|
44
|
+
@max_score = player_whith_max_score.score_total
|
45
|
+
end
|
46
|
+
|
47
|
+
def winner
|
48
|
+
calculate_max_score
|
31
49
|
@winner = Array.new
|
32
50
|
@players.each do |player|
|
33
|
-
@winner << player if player.score_total == max_score
|
51
|
+
@winner << player if player.score_total == @max_score
|
34
52
|
end
|
35
53
|
@winner
|
36
54
|
end
|
37
55
|
|
38
|
-
def finished
|
39
|
-
if @winner.count == 1
|
40
|
-
text = "#{@winner[0].name} is winner"
|
41
|
-
else
|
42
|
-
text = "Winner is absent"
|
43
|
-
end
|
44
|
-
text
|
45
|
-
end
|
46
|
-
|
47
56
|
end
|
data/lib/greed_game/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greed_game
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &82418820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *82418820
|
25
25
|
description: Greed is a dice game played among 2 or more players, using 5 six-sided
|
26
26
|
dice.
|
27
27
|
email:
|