Skip to content

An implementation of various cellular automata in Rust

License

Notifications You must be signed in to change notification settings

torlenor/rucomato

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rucomato

Build status

Description

An implementation of different cellular automata in Rust.

Requirements

  • Rust
  • libsdl2
    sudo apt install libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

Basic functionality

  • Press "p" to pause the simulation.
  • Press "ESC" to quit the simulation.

Implemented automata

On console:

cargo run -- rule30 console

In SDL2 window:

cargo run -- rule30 sdl2

rule30

On console:

cargo run -- rule90 console

In SDL2 window:

cargo run -- rule90 sdl2

rule90

On console:

cargo run -- rule110 console

In SDL2 window:

cargo run -- rule110 sdl2

rule110

On console:

cargo run -- rule184 console

In SDL2 window:

cargo run -- rule184 sdl2

rule184

On console:

cargo run -- gol console

In SDL2 window:

cargo run -- gol sdl2

gol

On console:

cargo run -- seeds console

In SDL2 window:

cargo run -- seeds sdl2

seeds

On console:

cargo run -- lant console

In SDL2 window:

cargo run -- lant sdl2

Langton's ant

On console:

cargo run -- bb console

In SDL2 window:

cargo run -- bb sdl2

Brian's Brain

On console:

cargo run -- wireworld console

In SDL2 window:

cargo run -- wireworld sdl2

Wireworld

TODO:

General

  • Mouse interaction for SDL2 to place/influence cells
  • Move into the third dimension
  • Sound synthesis
  • Custom actions to control the automata (probably useful in Ising model for temperature control)

Possible additional automata

Possible other interesting automata to implement in no particular order:

About

An implementation of various cellular automata in Rust

Topics

Resources

License

Stars

Watchers

Forks

Languages