Class: Warden
- Inherits:
-
Object
- Object
- Warden
- Defined in:
- lib/warden.rb
Instance Attribute Summary collapse
-
#done ⇒ Object
Returns the value of attribute done.
-
#hours_elapsed ⇒ Object
Returns the value of attribute hours_elapsed.
-
#period ⇒ Object
Returns the value of attribute period.
-
#prisoners ⇒ Object
Returns the value of attribute prisoners.
-
#roster ⇒ Object
Returns the value of attribute roster.
-
#visited ⇒ Object
Returns the value of attribute visited.
Instance Method Summary collapse
- #finish ⇒ Object
-
#initialize(*prisoners) ⇒ Warden
constructor
A new instance of Warden.
- #take_into_room ⇒ Object
Constructor Details
#initialize(*prisoners) ⇒ Warden
Returns a new instance of Warden.
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/warden.rb', line 3 def initialize *prisoners @roster = [] @visited = [] prisoners.flatten.each do |p| @roster.push(p) @visited[p.id] = false end @done = false @hours_elapsed = 0 @period = 0 end |
Instance Attribute Details
#done ⇒ Object
Returns the value of attribute done.
2 3 4 |
# File 'lib/warden.rb', line 2 def done @done end |
#hours_elapsed ⇒ Object
Returns the value of attribute hours_elapsed.
2 3 4 |
# File 'lib/warden.rb', line 2 def hours_elapsed @hours_elapsed end |
#period ⇒ Object
Returns the value of attribute period.
2 3 4 |
# File 'lib/warden.rb', line 2 def period @period end |
#prisoners ⇒ Object
Returns the value of attribute prisoners.
2 3 4 |
# File 'lib/warden.rb', line 2 def prisoners @prisoners end |
#roster ⇒ Object
Returns the value of attribute roster.
2 3 4 |
# File 'lib/warden.rb', line 2 def roster @roster end |
#visited ⇒ Object
Returns the value of attribute visited.
2 3 4 |
# File 'lib/warden.rb', line 2 def visited @visited end |
Instance Method Details
#finish ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/warden.rb', line 22 def finish if @visited.all? puts "You're all free to go." else puts "To the alligators with you!" end @done = true end |
#take_into_room ⇒ Object
15 16 17 18 19 20 |
# File 'lib/warden.rb', line 15 def take_into_room selectee = @roster.flatten.sample selectee.visit @visited[selectee.id.to_i] = true @hours_elapsed += rand(@period+1) end |