Skip to content

A rust implementation of the wireworld cellular automaton by Brian Silverman

License

Notifications You must be signed in to change notification settings

ghikio/wireworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wireworld

Intro

A implementation of the wireworld cellular automaton proposed by Brian Silverman in 1987. Written in Rust using SDL2 as the multimedia engine.

2 clock generators sending electrons into an XOR gate in wireworld

Deps

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.

Running it

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 a Conductor (yellow).
  • If the cell is a Conductor (yellow), it will turn it into a Electron 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 :)

About

A rust implementation of the wireworld cellular automaton by Brian Silverman

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages