Amazeing visualizes different algorithms adapted for creating mazes
and solving them with various path finding algorithms.
Tip
Check out the app at amazething.netlify.app.
- Implements 27 algorithms tailored to create mazes and how to traverse them.
- Extensive control over the algorithm execution (iteration history, etc.).
- Easy to use import / export feature.
- Statistics that get tracked based on the currently selected algorithm.
- Learn more page with general info and additional resources for further reading.
- PWA available
Contributions are welcome! ❤️
If you like what you see and just want to show some appreciation you can do so at ko-fi.
In general there are quite a few TODOs in this project and I haven't come around to creating issues instead. Some of them might be a good start for a first pull request and some may just sound really confusing because it is either based on old information or just poorly written.
Either way please create an issue first to avoid unnecessary work and to check if the feature/bug in question is something that you can work on. While I appreciate any help I can get this project is stil something I created for me to keep on learning from. PRs without any kind of discussion beforehand will almost certainly not be accepted.
There certainly are bugs present in the algorithms itself and fixing those kind of issues will always take priority over new features in general.
- Please respect the Angular style guide for contributions.
- This project also adheres to conventional commits.
- Code comments only when necessary but always for functions.
Note: The project is based on my other project which is quite boring in comparison to be honest. Have a look here.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change
any of the source files.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag
for a production build.
This project uses Playwright for e2e tests and ensures that
the most common use-cases are covered. More tests could be introduced but there is no way
to automatically test for the correctness
of the algorithms themselves automatically.
Run locally: npm run test:pw
This project is licensed under the MIT License.