A sophisticated micromouse maze simulator featuring pathfinding algorithms and interactive visualization.
- Features
- Prerequisites
- Quick Start
- Building the Project
- Running the Simulator
- Testing
- Troubleshooting
- Recursive Backtracker: A classic randomized depth-first search algorithm that creates complex, perfect mazes.
- Eller's Algorithm: A memory-efficient algorithm that generates mazes row-by-row, allowing for potentially infinite maze generation.
- Breadth-First Search (BFS): Guarantees the shortest path in an unweighted grid.
- Depth-First Search (DFS): Explores as far as possible along each branch before backtracking.
- A Search*: Uses heuristics (Manhattan distance) to find the most efficient path.
- Flood Fill: A popular algorithm for micromouse that calculates distances from the goal.
- Wall Follower: Implements the classic left-hand rule for maze navigation.
- Real-time visualization of generation and solving processes.
- Adjustable simulation speed.
- Manual wall toggling and maze editing.
- Zoom and pan support for large mazes.
Before building, ensure you have:
- CMake (version 3.16 or higher)
- C++ Compiler (GCC, Clang, MSVC, or MinGW)
- Git (for cloning the repository)
- Build System (Make, Ninja, or MSBuild)
- Python 3 (for pre-commit hooks)
# Clone the repository
git clone https://github.com/kr8457/MicroMouse-Simulator
cd MicroMouse-Simulator
# Switch to development branch (recommended)
git checkout dev
# Configure with testing enabled
cmake -B build -DBUILD_TESTING=ON
# Build the project
cmake --build build
# Run tests
ctest --test-dir build --output-on-failureFor a standard build without testing:
cmake -B buildTo enable GoogleTest for unit testing:
cmake -B build -DBUILD_TESTING=ONThis will automatically fetch and build GoogleTest from source.
Build the configured project:
cmake --build buildRun the simulator based on your system:
# For Unix-like systems
./build/mms
# For Windows (MinGW)
./build/mms.exe
# For Visual Studio builds
./build/Debug/mms.exeIf you configured the project with -DBUILD_TESTING=ON, run the test suite using CTest:
ctest --test-dir build --output-on-failure- Verify CMake is installed:
cmake --version - Ensure a C++ compiler is in your PATH
- Try specifying a generator explicitly with
-G
- Check that all prerequisites are installed
- Ensure your compiler supports C++11 or higher
- Try cleaning and reconfiguring:
rm -rf build/ cmake -B build cmake --build build
