Class: Pacman::Arcade::Navigator
- Inherits:
-
Object
- Object
- Pacman::Arcade::Navigator
- Defined in:
- lib/pacman/arcade/navigator.rb
Instance Method Summary collapse
-
#initialize(maze) ⇒ Navigator
constructor
A new instance of Navigator.
- #toward(target:, from:, current:) ⇒ Object
- #wander(from:, current:, rng:) ⇒ Object
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:) = candidates(from, current) [rng.rand(.length)] end |