Class: Pacman::Arcade::PelletField

Inherits:
Object
  • Object
show all
Defined in:
lib/pacman/arcade/pellet_field.rb

Instance Method Summary collapse

Constructor Details

#initialize(pellets:, powers:) ⇒ PelletField

Returns a new instance of PelletField.



6
7
8
9
# File 'lib/pacman/arcade/pellet_field.rb', line 6

def initialize(pellets:, powers:)
  @pellets = pellets.to_set
  @powers = powers.to_set
end

Instance Method Details

#eat(position) ⇒ Object



11
12
13
14
15
16
# File 'lib/pacman/arcade/pellet_field.rb', line 11

def eat(position)
  return :pellet if pellets.delete?(position)
  return :power if powers.delete?(position)

  nil
end

#empty?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/pacman/arcade/pellet_field.rb', line 18

def empty?
  remaining.zero?
end

#include?(position) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/pacman/arcade/pellet_field.rb', line 26

def include?(position)
  pellets.include?(position) || powers.include?(position)
end

#power?(position) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/pacman/arcade/pellet_field.rb', line 30

def power?(position)
  powers.include?(position)
end

#remainingObject



22
23
24
# File 'lib/pacman/arcade/pellet_field.rb', line 22

def remaining
  pellets.size + powers.size
end