Class: Pacman::Arcade::Navigator

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

Instance Method Summary collapse

Constructor Details

#initialize(maze) ⇒ Navigator

Returns a new instance of Navigator.



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

def initialize(maze)
  @maze = maze
end

Instance Method Details

#toward(target:, from:, current:) ⇒ Object



10
11
12
13
14
# File 'lib/pacman/arcade/navigator.rb', line 10

def toward(target:, from:, current:)
  candidates(from, current).min_by do |choice|
    maze.wrap(from.step(choice)).distance_sq(target)
  end
end

#wander(from:, current:, rng:) ⇒ Object



16
17
18
19
# File 'lib/pacman/arcade/navigator.rb', line 16

def wander(from:, current:, rng:)
  options = candidates(from, current)
  options[rng.rand(options.length)]
end