Added more user control over the maze generation.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
var cellWidth = 50;
|
||||
var frontier = [];
|
||||
var explored = [];
|
||||
var currentNode = {};
|
||||
@@ -6,10 +5,16 @@ var maze = {};
|
||||
var algo = {};
|
||||
|
||||
function setup() {
|
||||
var canvas = createCanvas(500, 500);
|
||||
canvas.parent('sketch-holder');
|
||||
maze = new Maze(width, height, cellWidth, "Depth");
|
||||
frameRate(30);
|
||||
var canvas = createCanvas(500, 500);
|
||||
canvas.parent('sketch-holder');
|
||||
|
||||
createNewMaze(document.getElementById("cellWidthInput").value);
|
||||
|
||||
frameRate(Number(document.getElementById("genFrameRate").value));
|
||||
}
|
||||
|
||||
function createNewMaze(cellWidth){
|
||||
maze = new Maze(width, height, Number(cellWidth));
|
||||
}
|
||||
|
||||
function draw() {
|
||||
@@ -24,17 +29,17 @@ function draw() {
|
||||
maze.resetMazeState();
|
||||
//maze.updateMazeDisplay();
|
||||
let selectedAlgo = document.getElementById("searchAlgo").value;
|
||||
let solvingFramerate = document.getElementById("solvingFrameRate").value;
|
||||
if(selectedAlgo == "depthFirst")
|
||||
algo = new DepthFirstSolver(maze.grid[0], maze.grid[maze.index(7, 7)]);
|
||||
else if(selectedAlgo == "breadthFirst")
|
||||
algo = new BreadthFirstSolver(maze.grid[0], maze.grid[maze.index(7,7)]);
|
||||
//else if(selectedAlgo == "a*")
|
||||
|
||||
|
||||
print("Maze generation done");
|
||||
frameRate(10);
|
||||
frameRate(Number(solvingFramerate));
|
||||
}
|
||||
else if (maze.mazeGenDone && algo.frontier.length > 0){
|
||||
//algo.breadthFirstNextCell(maze);
|
||||
algo.solve(maze);
|
||||
}
|
||||
else{
|
||||
|
||||
Reference in New Issue
Block a user