Class: Pacman::Arcade::ModeSchedule
- Inherits:
-
Object
- Object
- Pacman::Arcade::ModeSchedule
- Defined in:
- lib/pacman/arcade/mode_schedule.rb
Instance Attribute Summary collapse
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
Instance Method Summary collapse
- #frighten! ⇒ Object
- #frightened? ⇒ Boolean
-
#initialize(scatter_ticks:, chase_ticks:, frightened_ticks:) ⇒ ModeSchedule
constructor
A new instance of ModeSchedule.
- #tick ⇒ Object
Constructor Details
#initialize(scatter_ticks:, chase_ticks:, frightened_ticks:) ⇒ ModeSchedule
Returns a new instance of ModeSchedule.
8 9 10 11 12 13 14 |
# File 'lib/pacman/arcade/mode_schedule.rb', line 8 def initialize(scatter_ticks:, chase_ticks:, frightened_ticks:) @durations = {scatter: scatter_ticks, chase: chase_ticks} @frightened_ticks = frightened_ticks @mode = :scatter @remaining = scatter_ticks @frightened_remaining = 0 end |
Instance Attribute Details
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
6 7 8 |
# File 'lib/pacman/arcade/mode_schedule.rb', line 6 def mode @mode end |
Instance Method Details
#frighten! ⇒ Object
16 17 18 19 20 |
# File 'lib/pacman/arcade/mode_schedule.rb', line 16 def frighten! @paused_mode = mode unless frightened? @mode = :frightened @frightened_remaining = @frightened_ticks end |
#frightened? ⇒ Boolean
22 23 24 |
# File 'lib/pacman/arcade/mode_schedule.rb', line 22 def frightened? mode == :frightened end |
#tick ⇒ Object
26 27 28 29 30 31 |
# File 'lib/pacman/arcade/mode_schedule.rb', line 26 def tick return tick_frightened if frightened? advance_cycle nil end |