Class: MazeMagic::MazeGenerator::RecursiveBacktracking
- Inherits:
-
Object
- Object
- MazeMagic::MazeGenerator::RecursiveBacktracking
- Includes:
- Randomnes
- Defined in:
- lib/maze_magic/maze_generator/recursive_backtracking.rb
Overview
RecursiveBacktracking algorithm for generating Maze
original author Jamis Buck
http://weblog.jamisbuck.org/2010/12/27/maze-generation-recursive-backtracking
I've wraped the algorith with objects
Instance Attribute Summary collapse
-
#grid ⇒ Object
readonly
Returns the value of attribute grid.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(grid:) ⇒ RecursiveBacktracking
constructor
A new instance of RecursiveBacktracking.
Methods included from Randomnes
included, #preseeder, #randomizer
Constructor Details
#initialize(grid:) ⇒ RecursiveBacktracking
Returns a new instance of RecursiveBacktracking.
16 17 18 |
# File 'lib/maze_magic/maze_generator/recursive_backtracking.rb', line 16 def initialize(grid:) @grid = grid end |
Instance Attribute Details
#grid ⇒ Object (readonly)
Returns the value of attribute grid.
14 15 16 |
# File 'lib/maze_magic/maze_generator/recursive_backtracking.rb', line 14 def grid @grid end |
Instance Method Details
#call ⇒ Object
20 21 22 23 24 |
# File 'lib/maze_magic/maze_generator/recursive_backtracking.rb', line 20 def call preseeder.call algorithm(grid, grid.start_x, grid.start_y) grid end |