33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
/** Implements a cellular automaton.
|
|
*
|
|
* In the first state the user can define the initial configuration (the cells
|
|
* that are alive in the beginning. If the user is not sure about which cells
|
|
* to enable choosing the one in the middle (255/256) is ususually a good
|
|
* start.
|
|
*
|
|
* Next, the user selects the rule they want to simulate. A list of all rules
|
|
* is available on Wikipedia. If the user is not sure which rule they want Rule
|
|
* 90 is a good start to get the idea.
|
|
*
|
|
* https://en.wikipedia.org/wiki/Elementary_cellular_automaton
|
|
*
|
|
* In the second stage the user can select the initial configuration of the
|
|
* automaton. The keys 'h' and 'l' move the cursor one pixel to the left or
|
|
* right respectively. By pressing the space bar the user can toggle the
|
|
* current pixel. By pressing the 'r' key the simulation is started. Pressing
|
|
* 'q' ends the simulator.
|
|
*/
|
|
|
|
/** Initializes a new Cellular Automaton Game and runs it. */
|
|
class Main {
|
|
function void main() {
|
|
var CellularAutomatonController controller;
|
|
|
|
let controller = CellularAutomatonController.new();
|
|
do controller.initialConfiguration();
|
|
do controller.run();
|
|
do controller.dispose();
|
|
return;
|
|
}
|
|
}
|