Inspired by a Computerphile video.
./maze gen <mazes/out.png> 1000
./maze gen <mazes/in.png>
./maze gen <mazes/in.png> <mazes/out.png>
./maze show <mazes/in.png>
git clone git@github.com:Bungogood/maze.git
cd maze
mkdir mazes .obj
make
Solvers:
- Dijkstra
- A Star
- Breadth First Search
- Depth First Search
- Always Turn Left / Right (hand on wall)
Generators:
- Prim
- Kruskal
- Binary Tree
Data Structures:
- Stacks
- Queues
- Heaps
- Priority Queues
- Dynamic Arrays
- Linked Lists
- Hashtables
├── .obj/
│ └── <objects.o>
├── include/
│ └── <headers.h>
├── mazes/
│ └── <mazes.png>
├── src/
│ ├── datastructs/
│ │ ├── stack.c
│ │ ├── queue.c
│ │ ├── heap.c
│ │ ├── pqueue.c
│ │ ├── earray.c
│ │ ├── llist.c
│ │ └── hashtable.c
│ ├── solvers/
│ │ ├── prim.c
│ │ ├── kruskal.c
│ │ └── btree.c
│ ├── generators/
│ │ ├── dijkstra.c
│ │ ├── astar.c
│ │ ├── bfs.c
│ │ ├── dfs.c
│ │ └── aturn.c
│ ├── parse.c
│ ├── generate.c
│ ├── solve.c
│ ├── color.c
│ ├── maze.c
│ └── main.c
├── .gitignore
├── makefile
├── maze
└── README.md
- add path checker for filenames
- add integer checker for seed and width / height
https://youtu.be/rop0W4QDOUI https://github.com/mikepound/mazesolving