Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mhthies/gpn20-gpn-mazing
My GPN-mazing maze bot from Gulasch-Programmier-Nacht 20 (2022)
https://github.com/mhthies/gpn20-gpn-mazing
gpn-mazing gpn20
Last synced: 14 days ago
JSON representation
My GPN-mazing maze bot from Gulasch-Programmier-Nacht 20 (2022)
- Host: GitHub
- URL: https://github.com/mhthies/gpn20-gpn-mazing
- Owner: mhthies
- Created: 2022-05-21T12:49:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-05-22T14:15:05.000Z (over 2 years ago)
- Last Synced: 2024-11-11T13:06:21.184Z (about 2 months ago)
- Topics: gpn-mazing, gpn20
- Language: Rust
- Homepage:
- Size: 54.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gpn-mazing Bot
This is my [gpn-mazing](https://github.com/freehuntx/gpn-mazing) bot implementation from Gulasch-Programmier-Nacht 2022 (GPN 20), known from the *michael-1.0* bot.
It uses some kind of depth-first search in the maze, with heuristics for finding the best decision at each crossing.
In addition, it checks if the goal is even reachable via the unexplored-fields from the next field before going there, effectively skipping all areas which cannot lead to the goal anymore.I also implemented cutting further unnecessary sub-trees from the depth-first search, based on missing improvement of the heuristic score, but it resulted in to many false-positives, i.e. skipping the correct path to the goal.
## Running
Compile and run with
```bash
cargo run
```The program accepts one command line argument with the path of the config file.
If not given, a `config.toml` in the current working directory is expected.
An example config file is given in [config.example.toml](config.example.toml).To enable logging, set the `RUST_LOG` environment variable to the desired log level (e.g. `RUST_LOG=info`).