HaKai-2062 / Mazes

Creating and Solving mazes using various algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mazes

Features

  • Shift and left mouse click is used to select the start cell indicated by green.
  • Shift and right mouse click is used to select the end cell indicated by red.
  • Dockable window and maze is automatically adjusted according to available viewport space.
  • Mazes aka labyrinth can be generated using 4 building algorithms: Recursive Backtrack, Kruskal, Prints, Wilson.
  • 4 solving algorithms can be used to get path from start cell to end cell: DFS, BFS, Dijkstra, A(*) star.
  • Maze dimensions including cell width and wall width can be tweaked.
  • Colors of the maze can be tweaked and path drawn has color cycling by default. It can be further tweaked by user.
  • Visualize tab includes cell weights which can be used to assign random weights. Useful for Dijkstra and A star alogirthms.

Libraries

Tools Used

Building the project

  • Open the project directory inside Visual Studio.
  • Open the CMakelists.txt file located in the project folder and Ctrl+S. This will clone and build the dependencies.
  • In case of CMake related issues, delete 'out' folder and try rebuilding.

Maze Building Algorithms

Recursive Backtrack and application delay

RB

Kruskal

Kruskal

Prims

Prims

Wilson

Wilson

Maze Solving Algorithms

Depth first search

DFS

Breadth first search

BFS

Dijkstra

Dijkstra

A(*) star

Astar

Miscellaneous

Dockable window. cell width and wall width can be tweaked for maze size and look.

Intro

Path color cycle speed and cell weights being tweaked and heatmap for visualization

Colors_Weights

About

Creating and Solving mazes using various algorithms


Languages

Language:C++ 97.6%Language:PostScript 1.6%Language:GLSL 0.8%