You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Adrian Heine
637bec67f8
|
3 years ago | |
---|---|---|
benches | 3 years ago | |
src | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.toml | 3 years ago | |
README.md | 3 years ago | |
rustfmt.toml | 3 years ago |
README.md
gntag
gntag (from German »Guten Tag«: »good day«, roughly equivalent to »g'day«) is an actor-based simulation of tag implemented in rust.
Running
git clone https://git.adrianheine.de/adrian/gntag.git
cd gntag
cargo run
To exit the simulation, press q, ESC or Ctrl+c.
Tests
A few tests can be run with:
cargo test
Benchmarks
cargo bench
runs benchmarks. Their results are available under target/criterion/report/index.html
.
Simulation
- 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 actor
- 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