A Python-based simulation of the WireWorld cellular automaton using the Tkinter library.
The application allows users to create their own WireWorld patterns, visualize electron movement, and explore how simple rules can be used to simulate digital circuits and computational systems.
- Interactive grid-based WireWorld simulation.
- Create WireWorld patterns using
click & dragmouse interaction. - Cycle through the four WireWorld cell states:
- Empty (black)
- Conductor (yellow)
- Electron Head (red)
- Electron Tail (blue)
- Simulate one step at a time using the
Cyclebutton. - Run continuous simulations using the
Playbutton. - Pause simulations using the
Stopbutton. - Reset the grid and clear all cells using the
Resetbutton. - Display the fundamental WireWorld rules through the built-in help menu.
- Includes an inspiration sheet with examples of logic gates and electronic components.
- Implements the Moore neighborhood concept to determine neighboring electron heads.
- Clone the repository:
git clone https://github.com/Royaltyclaws22/WireWorld-Simulation.git- Navigate to the project folder:
cd WireWorld-Simulation- Run the program:
python WireWorld_Simulation.pyMake sure that the image file Inspiration.png is located in the same directory as WireWorld_Simulation.py.
Left clickon a cell to change its state.Click & dragacross the grid to quickly create WireWorld patterns.- Cells change state in the following order:
- Empty → Conductor → Electron Head → Electron Tail → Empty
- Press
Cycleto advance the simulation by one generation. - Press
Playto automatically run the simulation continuously. - Press
Stopto pause the simulation. - Press
Resetto clear the grid and return all cells to the Empty state. - Open the
Helpmenu to view the WireWorld rules and additional information.