This commit adds a simple side panel to allow users to interact with the
application. The side panel allows the user to:
- Generate and regenerate mazes
- Choose between the searching algorithms
- Choose whether or not to add randomness to the algorithm
- Run and re-run the simulation
Update the DFS algorithm to allow the user to select if the solver
should randomly choose the directions when traversing through the maze.
The duplicate method has been removed.
Implement a variation to the DST search algorithm to the Solver class.
In this variation, the solver randomly chooses the next direction when
it reaches a fork in its path.
Create a separate class to represent the solver of the maze.
Additional search algorithms will be implemented here.
Additional changes:
- Add public methods to mark cells as visited and to get results of
the visits.
- Renamed MazeDirections to MazeDirection.
- Renamed _num_cell_rows to _height.
- Renamed _num_cells_per_row to _width.
- Created a dedicated method to configure a cell's walls in the Maze
class.
- created a dedicated public method to draw a path between two cells in
the Maze class.