Class: Yahtzee::Turn
- Inherits:
-
Object
- Object
- Yahtzee::Turn
- Defined in:
- lib/yahtzee.rb
Instance Method Summary collapse
- #can_reroll? ⇒ Boolean
- #done? ⇒ Boolean
- #finish ⇒ Object
- #get_dice ⇒ Object
- #get_preserve ⇒ Object
- #get_reroll_count ⇒ Object
-
#initialize ⇒ Turn
constructor
A new instance of Turn.
- #joker? ⇒ Boolean
-
#reroll(preserve) ⇒ Object
- 1,1,1,1,1
-
preserves all.
- #roll_dice(num_dice) ⇒ Object
- #set_dice(a) ⇒ Object
- #set_joker(value) ⇒ Object
- #set_preserve(pr) ⇒ Object
Constructor Details
#initialize ⇒ Turn
Returns a new instance of Turn.
60 61 62 63 64 65 66 67 68 |
# File 'lib/yahtzee.rb', line 60 def initialize @dice = roll_dice 5 @reroll_count = 0 @reroll_max = 2 @joker = false @done = false end |
Instance Method Details
#can_reroll? ⇒ Boolean
80 81 82 |
# File 'lib/yahtzee.rb', line 80 def can_reroll? return true if @reroll_count < @reroll_max end |
#done? ⇒ Boolean
112 113 114 |
# File 'lib/yahtzee.rb', line 112 def done? return @done end |
#finish ⇒ Object
116 117 118 |
# File 'lib/yahtzee.rb', line 116 def finish @done = true end |
#get_dice ⇒ Object
96 97 98 |
# File 'lib/yahtzee.rb', line 96 def get_dice return @dice end |
#get_preserve ⇒ Object
92 93 94 |
# File 'lib/yahtzee.rb', line 92 def get_preserve return @preserve end |
#get_reroll_count ⇒ Object
100 101 102 |
# File 'lib/yahtzee.rb', line 100 def get_reroll_count return @reroll_count end |
#joker? ⇒ Boolean
104 105 106 |
# File 'lib/yahtzee.rb', line 104 def joker? return @joker end |
#reroll(preserve) ⇒ Object
- 1,1,1,1,1
-
preserves all
120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/yahtzee.rb', line 120 def reroll preserve # [1,1,1,1,1] preserves all if @reroll_count < @reroll_max a = roll_dice 5 5.times do |i| if preserve[i] == 0 @dice[i] = a[i] end end end @reroll_count += 1 end |
#roll_dice(num_dice) ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'lib/yahtzee.rb', line 70 def roll_dice num_dice a = [] num_dice.times do a.push Random.rand(6) + 1 end return a end |
#set_dice(a) ⇒ Object
88 89 90 |
# File 'lib/yahtzee.rb', line 88 def set_dice a @dice = a end |
#set_joker(value) ⇒ Object
108 109 110 |
# File 'lib/yahtzee.rb', line 108 def set_joker value @joker = value end |
#set_preserve(pr) ⇒ Object
84 85 86 |
# File 'lib/yahtzee.rb', line 84 def set_preserve pr @preserve = pr end |