213 lines
8.9 KiB
Plaintext
213 lines
8.9 KiB
Plaintext
|
There are a few modes devoted to cellular automata.
|
||
|
I also added a bunch of options. So I am providing a little explanation
|
||
|
so it is not overwhelming. I also say a little something at the top of the
|
||
|
C file of each. If your favorite little automaton is not here (or you think
|
||
|
it should be enhanced)... let me know.
|
||
|
The modes are ant, ant3d, bug, demon, dilemma, life, life1d, life3d, loop,
|
||
|
voters, wator, and wire.
|
||
|
use -install if netscape is stealing all your colors... :)
|
||
|
Try using with "-inwindow -verbose" though "xlock -help" may be helpful too.
|
||
|
|
||
|
ant: Turing Machines where the tape is the screen.
|
||
|
Special options:
|
||
|
-rule: base 2 string for Turk's Ant
|
||
|
-truchet: this shows the path (good to use with -size at
|
||
|
least 10) Truchet option turned off if its not Turk's ants.
|
||
|
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of ants
|
||
|
-cycles <int>: how many cycles before a new ant
|
||
|
-size <int>: size of ant in pixels
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 ants, 3, 6, & 12 bees (9 seemed hard
|
||
|
to make consistent, but since 3 was done, there should be a way...)
|
||
|
-eyes: eyes on ant (did not bother for -neighbors 12)
|
||
|
eyes are backwards on triangular ants (easier to place them).
|
||
|
-verbose: verbose to help identify ant (good to use with -inwindow)
|
||
|
|
||
|
ant3d: Turing Machines where the tape is the screen.
|
||
|
Special options:
|
||
|
-rule: base 4 string for Turk's Ant
|
||
|
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of ants
|
||
|
-cycles <int>: how many cycles before a new ant
|
||
|
-size <int>: size of ant in pixels
|
||
|
|
||
|
-eyes: eyes on ant (uhh its just one big eye)
|
||
|
eyes are backwards on triangular ants (easier to place them).
|
||
|
-verbose: verbose to help to identify ant (good to use with -inwindow)
|
||
|
|
||
|
bug: Evolving bugs (big squares) learn to walk straight (except in the garden)
|
||
|
to pick up bacteria food (little squares) unlike other modes there is no
|
||
|
wrapping (this to me is logical because its like the bug is in a glass
|
||
|
jar)
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of bugs
|
||
|
-cycles <int>: how many cycles before a new world
|
||
|
-size <int>: size of bug in pixels
|
||
|
|
||
|
-eyes eyes on bug
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3 & 12
|
||
|
triangular (9 seemed hard to make consistent, but since 3 was done,
|
||
|
there should be a way...)
|
||
|
|
||
|
demon: A simple modulo automata
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of states
|
||
|
-cycles <int>: how many cycles before a new screen
|
||
|
-size <int>: size of cell in pixels
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular
|
||
|
|
||
|
dilemma: Happy (good) and Mean (bad) cells compete for domination
|
||
|
Special options:
|
||
|
-conscious: (default) uses its own state in calculation of payoff
|
||
|
+conscious: does not use its own state in calculation of payoff
|
||
|
-bonus <flt>: payoff for defecting
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of bad or defecting initial cells
|
||
|
-cycles <int>: how many cycles before a new screen
|
||
|
-size <int>: size of cell in pixels (mean faces and happy faces become
|
||
|
polygons and circles if not 0)
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular (mean faces and happy faces become polygons and circles if
|
||
|
not 4 or 8)
|
||
|
|
||
|
life:
|
||
|
Special options:
|
||
|
-label: pattern name and rule
|
||
|
-sequential: picking of sequential patterns with a rule (use with
|
||
|
middle button)
|
||
|
-rule <string>: survival and birth parameters formated
|
||
|
S<neighborhood>/B<neighborhood>, so John Conway's rule is S23/B3,
|
||
|
David Bell's HighLife rule is S23/B36 (also -highlife),
|
||
|
Nathan Thompson's Day and Night rule is S34678/B3678, (also -daynight)
|
||
|
Two format exceptions:
|
||
|
-rule P: Picks a random rule from all rules that have known patterns
|
||
|
-rule G: Picks a random rule from all rules that have known gliders
|
||
|
-conway: Conway's original Life rule B3/S23
|
||
|
-highlife: Bell's Life rule B36/S23
|
||
|
-daynight: Thompson's Life rule B3678/S34678
|
||
|
-callahan: Paul Callahan's B2a/S2b34 hexagonal life
|
||
|
-andreen: Bob Andreen's B2a3a4b/S2a2b4a hexagonal life
|
||
|
-trilife: Carter Bays' S34/B45 triangular life
|
||
|
-trilife1: Carter Bays' S45/B456 triangular life
|
||
|
-trilife2: Carter Bays' S23/B45 triangular life
|
||
|
-lifefile <filename>: only the #P format of xlife
|
||
|
There is a limit of 128 initial live cells set by NUMFILEPTS in life.c.
|
||
|
|
||
|
Mode options:
|
||
|
-cycles <int>: how many cycles before a new lifeform
|
||
|
-count <int>: number of cycles before glider (if one exists)
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-size <int>: size of cell in pixels, if 0 may default to bitmap
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular
|
||
|
-verbose: verbose to help identify life (good to use with -inwindow)
|
||
|
|
||
|
life1d: 1 dimensional life
|
||
|
Special options:
|
||
|
-totalistic: (default) totalistic 1d life
|
||
|
+totalistic: LCAU collection These rules may not be symmetric and are
|
||
|
more general (totalistic is a subset).
|
||
|
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-cycles <int>: how many pages before a new lifeform
|
||
|
-size <int>: size of cell in pixels, if 0 may default to bitmap
|
||
|
|
||
|
-verbose: verbose to help identify life (to be referenced with the source
|
||
|
code) (good to use with -inwindow)
|
||
|
|
||
|
life3d: 3 dimensional life
|
||
|
Special options:
|
||
|
-label: pattern name and rule
|
||
|
-sequential: picking of sequential patterns with a rule (use with
|
||
|
middle button)
|
||
|
-rule3d <string>: survival and birth parameters formated
|
||
|
S<neighborhood>/B<neighborhood>, so Carter Bays' rules are S45/B5, S567/B6,
|
||
|
S56/B5, S678/B5, and S67/B67. There is currently no way of accessing the
|
||
|
neighborhoods 10 to 27 this way (is there a need?).
|
||
|
Two format exceptions:
|
||
|
-rule3d P: Picks a random rule from all rules that have known patterns
|
||
|
-rule3d G: Picks a random rule from all rules that have known gliders
|
||
|
-life3dfile <filename>: similar to the #P format of xlife, 3 integers are
|
||
|
required to center, sequential linefeeds imply a depth change
|
||
|
There is a limit of 84 initial live cells set by NUMFILEPTS in life3d.c.
|
||
|
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of cycles before glider (if one exists)
|
||
|
-cycles <int>: how many cycles before a new lifeform
|
||
|
|
||
|
-verbose: verbose to help identify life (good to use with -inwindow)
|
||
|
|
||
|
loop: Chris Langton's loops this is far as great example of a
|
||
|
self-generating life form.
|
||
|
David Bagley (i.e. myself) made up the hexagon version.
|
||
|
EvoLoopS Evolving SDSR Loop Simulator idea (-evolve) stolen
|
||
|
from Hiroki Sayama <sayama AT is.s.u-tokyo.ac.jp>
|
||
|
LoopS - Structurally Dissolvable Self-Reproducing Loop
|
||
|
Simulator (-dissolve and/or -sheath) idea also stolen from
|
||
|
Hiroki Sayama.
|
||
|
|
||
|
Special options:
|
||
|
-wrap: (default) wrap the borders
|
||
|
+wrap: do not wrap the borders
|
||
|
-langton: normal loops, works for both 4 or 6 neighbors
|
||
|
-evolve: evolving loops
|
||
|
-dissolve: dissolving state for structurally dissolvable loops
|
||
|
-sheath: sheath extension (can be combined with -dissolve)
|
||
|
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of defects (may be less)
|
||
|
-cycles <int>: how many cycles before it starts over
|
||
|
-size <int>: size of cell in pixels
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 rectangular, 6 hexagonal
|
||
|
-verbose: verbose to help identify loop (good to use with -inwindow)
|
||
|
|
||
|
voters: your political belief is influenced by your neighbor
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: number of parties 2 or 3 (3 may not be available)
|
||
|
-cycles <int>: how many cycles before a new world starts
|
||
|
-size <int>: size of cell in pixels (elephants and donkeys become
|
||
|
squares and circles if not 0, hammer/sickle unavailable)
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular (elephants and donkeys become squares and circles if
|
||
|
not 4 or 8, hammer/sickle unavailable)
|
||
|
|
||
|
wator: sharks and fish on a water torus planet
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: breed time for the fish
|
||
|
-cycles <int>: how many cycles before a new world starts
|
||
|
-size <int>: size of cell in pixels (sharks and fish become polygons
|
||
|
and circles if not 0)
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular (sharks and fish become polygons and circles if not 4 or 8)
|
||
|
|
||
|
wire: (this mode lacks a good circuit generator) unlike other modes there
|
||
|
is no wrapping
|
||
|
Mode options:
|
||
|
-delay <int>: controls the length of a cycle in microsec
|
||
|
-count <int>: length of random circuit
|
||
|
-cycles <int>: how many cycles before a circuit
|
||
|
-size <int>: size of cell in pixels
|
||
|
|
||
|
-neighbors <int>: 0 random, 4 & 8 rectangular, 6 hexagonal, 3, 9 & 12
|
||
|
triangular
|