-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
47 lines (32 loc) · 1.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Maze Generator
Copyright (C) 2009-2024 Matthew T. Pandina. All rights reserved.
This is a multi-threaded Qt 6 front-end to a very portable (and memory
efficient) C program I wrote to create and concurrently solve
N-dimensional* mazes of any size.
It uses a randomized Kruskal's algorithm to generate the mazes, and
solves them using a concurrent dead-end filling algorithm I designed.
You can configure the look and size of each maze, open and save mazes
in a highly compressed format, export them as a BMP files scaled to
the current zoom level, print them out on paper, or to a PDF file.
*This GUI only allows 2D mazes to be visualized.
Live Online Demo (compiled using Qt 6.7.0 for WebAssembly)
https://artcfox.github.io/maze-generator/
Generic Build Instructions
To build the Qt 6 version (for Desktop or Web Assembly), you can
download and use the Qt 6.7.0 Online Installer.
Debian 12
Qt6 Build Instructions
sudo apt install build-essential qt6-base-dev
git clone https://github.com/artcfox/maze-generator
cd maze-generator
qmake6 MazeGenerator.pro
make
Qt5 Build Instructions
sudo apt install build-essential qtbase5-dev
git clone https://github.com/artcfox/maze-generator
cd maze-generator
qmake MazeGenerator.pro
make
Note: If building on a system which does not support pthreads, you can
rename Maze.c to Maze.cpp, and its threading implementation will
automatically switch from pthreads to std::thread.