||1 year ago|
|benches||1 year ago|
|src||1 year ago|
|.gitignore||1 year ago|
|Cargo.toml||1 year ago|
|README.md||1 year ago|
|rustfmt.toml||1 year ago|
gntag (from German »Guten Tag«: »good day«, roughly equivalent to »g'day«) is an agent-based simulation of tag implemented in rust.
git clone https://git.adrianheine.de/adrian/gntag.git cd gntag cargo run
To exit the simulation, press q, ESC or Ctrl+c.
Using as a library
src/main.rs is a pretty minimal example of the currently exposed high-level functionality.
gntag::agent includes simpler agent iplementations and all the types,
A few tests can be run with:
cargo bench runs benchmarks. Their results are available under
- The world is a simple two-dimensional rectangle with integer positions
- Agents can occupy the same space
- Agents can make one move per simulation step, either by trying to move by at most one unit in both directions or by trying to tag another agent
- Agents need to be at most one unit away in both directions from others in order to tag them
- Agents act at the same time and their actions are validated against the previous state