A implementation of the wireworld cellular automaton proposed by Brian Silverman in 1987. Written in Rust using SDL2 as the multimedia engine.
The only dependency is SDL2 for which you require it's libraries. In most Linux distributions you can install them with the SDL2-devel
package or similar.
In order to run it you only need a working Rust environment:
cd wireworld
cargo run # Runs it using the development profile
# or
cargo run --release # Runs it using the release profile which applies some optimizations
After the window opens up, Left Clicking
any cell will produce the following output:
- If the cell is
Empty
(black), it will turn it into aConductor
(yellow). - If the cell is a
Conductor
(yellow), it will turn it into aElectron Head
(blue).
In order to make a cell Empty
(black) again, you can Right Click
it.
For more info on how the automaton works, check the wikipedia page :)