How mackorone/mms works
mms is a Micromouse simulator: an algorithm communicates over stdin/stdout, while the simulator runs it against a maze, applies its commands, and visualizes its state. The current src/ tree contains the application; old/ holds previous versions. The graph emphasizes the documented algorithm-to-result workflow and visible UI responsibilities. Several subsystem paths are based on the tree and README rather than sampled implementation, so those relationships are marked unverified.
Main entry points: Window.cpp Simulator window · MazeView.cpp Maze rendering · ProcessUtilities.cpp Algorithm process · Maze.cpp Maze state
Components 19
Simulation runtime
- Application entry
src/Main.cpp - Runtime driver
src/Driver.cpp - Simulator window
src/Window.cpp - Algorithm process
src/ProcessUtilities.cpp - Maze state
src/Maze.cpp - Map state
src/Map.cpp - Mouse state
src/Mouse.cpp - Tile state
src/Tile.cpp
Maze visualization
- Maze rendering
src/MazeView.cpp - Maze graphics
src/MazeGraphic.cpp - Mouse graphics
src/MouseGraphic.cpp - Tile graphics
src/TileGraphic.cpp
Configuration and results
- User settings
src/Settings.cpp - Color preferences
src/ColorManager.cpp - Run statistics
src/Stats.cpp - Maze file handling
src/SettingsMazeFiles.cpp
Other components
- Simulator user
- Mouse algorithm
- External algorithm runtime
Connections 21
- Application entry → Runtime driver: starts
src/Main.cpp - Simulator user → Simulator window: controls
- Simulator window → Algorithm process: launches
src/Window.cpp - Algorithm process → Mouse algorithm: runs
- Mouse algorithm → Simulator window: sends commands
- Simulator window → Mouse algorithm: returns responses
- Simulator window → Map state: updates
- Simulator window → Maze state: loads maze
- Simulator window → Mouse state: moves
- Maze state → Tile state: contains state
- Simulator window → Maze rendering: displays
- Maze rendering → Maze graphics: renders
- Maze graphics → Tile graphics: uses
- Maze rendering → Mouse graphics: renders
- Simulator window → User settings: reads settings
- Simulator window → Color preferences: edits colors
src/Window.cpp - Color preferences → User settings: persists
src/ColorManager.cpp - Simulator window → Run statistics: records results
- Simulator user → Maze file handling: selects maze
- Maze file handling → Maze state: provides maze
- External algorithm runtime → Algorithm process: communicates via stdio