LuX is a GUI application built with the Qt framework. It allows users to create and solve grids or mazes of their desired dimensions. The application provides an intuitive interface for creating, modifying, and solving mazes. It will find the shortest path to one of the the finish points from the start point.
To use the pre-built binaries follow the steps below
Download LuX_Linux_x86_64.tar.gz
from releases and extract the contents to a folder. Then run LuX-*.AppImage
Download LuX_Windows_x86_64.zip
from releases and extract the contents to a folder. Then run Lux.exe
To build LuX, you require the following on your system:
- C++20 or above
- Qt framework 6.5.0+
- Qt Creator Community 10.0.0+
- (Optional: Linux only) AppImage-Builder
Open a command line in your desired folder, clone the repo with the following command
git clone https://github.com/GinOwO/LuX.git
- Open Qt Creator and load the project.
- Switch to release and then build the project.
- Copy the release exe from the build folder to your desired folder.
- Open a command line in your bin folder in the Qt installation, ex:
"D:\Qt\6.5.*\mingw_64\bin"
- Use the
set PATH=<path_to_qt>;%PATH%
to use the Qt DLLs, ex:set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH%
- Now run the
windeployqt6 "<path_to_exe>"
command to copy necessary DLLs to the exe folder, ex:windeployqt6 "D:\Lux\Lux.exe"
- Open Qt Creator and load the project.
- Switch to release and then build the project.
- Copy the release build from the build folder to your desired folder. Make the directory
AppDir/usr/bin
and copy the release build to it. - Open a terminal in the folder and run
appimage-builder --generate && appimage-builder
to generate the AppImage.
- Launch Lux
- Choose LOAD to load a saved maze or enter a height and width and press START
- Left click on the grids to toggle walls.
- Right click to open the context menu to get options to toggle starting position and ending position. There can only be a single start but multiple finish points can exist.
- Go to solve and select the algorithm to solve it.
- Menu->Save to save the current maze layout in a file. A layout can be created manually using a text editor.
- Menu->Reload to reload a layout if it was loaded from a file.
- Menu->Reset to get a blank canvas.
- Minimum Height is 3x3. Recommended maximum height is 68x98, going above which might crash the program.
- There is an example.txt file with a maze.
- In the saved layout:
-
- The first line is height and width separated by a white space
-
- "W" represents walls, "S" represent the start point, "E" represents finish/end point, "." represents empty paths.
This project is licensed under The Unlicense.