Rule String Definitions

For discussion of other cellular automata.
Post Reply
bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Rule String Definitions

Post by bprentice » September 9th, 2020, 3:18 pm

This board typically uses strings to define rules. These rule string definitions are scattered all over and are difficult to find. As an example, where is the definition of the HROT rules? The users of this board would benefit if all of the rule string definitions currently in use were copied here.

Brian Prentice

lemon41625
Posts: 355
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Rule String Definitions

Post by lemon41625 » September 9th, 2020, 7:54 pm

For HROT Generations / 2-state,
R<range>,C<state>,S<survival>,B<birth>,N<neighbourhood>

The currently implemented neighbourhoods are,

Asterisk (A)
Checkerboard (B)
Circular (C)
Gaussian Weighted Neighbourhood (G)
Hexagonal (H)
Triangular Moore (L)
Moore (M)
Von Neumann (N)
Saltire (X)
Euclidean (2)
Tripod (3)
Star (*)
Cross (+)
Hash (#)
CoordCA Format (Custom Neighbourhoods @)
LifeViewer Format (Weighted Neighbourhoods W)
LifeViewer Format (State Weights W)

For custom weighted neighbourhoods,
specify with NW and then hex digits for each cell in the neighbourhood
if the weights are all in the range -7 to +7 use single hex digits
or if the weights are all in the range -127 to +127 use double hex digits
hexadecimal representation has MSB as sign bit:
0 to 7 represent 0 to 7
8 to f represent 0 to -7
00 to 7f represent 0 to 127
80 to ff represent 0 to -127

Example 1 becomes NW13250cb01:

Code: Select all

 1,  3,  2
 5,  0, -4
-3,  0,  1
Example 2 becomes NW8a05140464828b0694:

Code: Select all

-10,   5,  20
  4, 100,  -2
-11,   6, -20
can postfix with H for hexagonal grid or L for triangular grid
triangular grid will cause weightings to be treated as a triangular neighbourhood and flip vertically on alternating cells

For state weights, after the weighted neighbourhood string add a "," and the hex digits that represent the state weights.
For example, the state weights 1, 2, 10, 0 become 12A0

For custom non-weighted neighbourhoods, draw the neighbourhood in LifeViewer and press Ctrl + B to get the CoordCA string.
R<range>,C<states>,S<survival>,B<birth>,N@<CoordCA>

Also postfix with H or L for hexagonal or triangular neighbourhoods.

For HROT Extended Generations (only supported by CAViewer at the time of writing),
R<range>,B<birth>,S<survival>,G<genextString>,N<neighbourhood>
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: Rule String Definitions

Post by bprentice » September 9th, 2020, 8:47 pm

lemon41625 wrote:
September 9th, 2020, 7:54 pm
The currently implemented neighbourhoods are,

Asterisk (A)
Checkerboard (B)
Circular (C)
Gaussian Weighted Neighbourhood (G)
Hexagonal (H)
Triangular Moore (L)
Moore (M)
Von Neumann (N)
Saltire (X)
Euclidean (2)
Tripod (3)
Star (*)
Cross (+)
Hash (#)
CoordCA Format (Custom Neighbourhoods @)
LifeViewer Format (Weighted Neighbourhoods W)
LifeViewer Format (State Weights W)
Where are these defined? Some of us think in pictures!

Brian Prentice

User avatar
bubblegum
Posts: 960
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Rule String Definitions

Post by bubblegum » September 9th, 2020, 8:55 pm

bprentice wrote:
September 9th, 2020, 8:47 pm
lemon41625 wrote:
September 9th, 2020, 7:54 pm
The currently implemented neighbourhoods are,

Asterisk (A)
Checkerboard (B)
Circular (C)
Gaussian Weighted Neighbourhood (G)
Hexagonal (H)
Triangular Moore (L)
Moore (M)
Von Neumann (N)
Saltire (X)
Euclidean (2)
Tripod (3)
Star (*)
Cross (+)
Hash (#)
CoordCA Format (Custom Neighbourhoods @)
LifeViewer Format (Weighted Neighbourhoods W)
LifeViewer Format (State Weights W)
Where are these defined? Some of us think in pictures!

Brian Prentice
In the "Pattern viewer for forum threads" thread. It's stickied at the top of the Website Discussion subforum which is at the top of the board index.

Code: Select all

x = 1, y = 1, rule = R2,C2,S,B1,NM
o!
Take this code block. To see different neighbourhoods hit M, click "Pattern" on the top, "Change Rule" on the top, and modify the R and N parameters to see different neighbourhoods in different ranges.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: Rule String Definitions

Post by bprentice » September 9th, 2020, 9:37 pm

bubblegum wrote:
September 9th, 2020, 8:55 pm
Take this code block. To see different neighbourhoods hit M, click "Pattern" on the top, "Change Rule" on the top, and modify the R and N parameters to see different neighbourhoods in different ranges.
This doesn't work. I want to see a picture of each neighborhood, rather than explore them.

Brian Prentice

User avatar
bubblegum
Posts: 960
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Rule String Definitions

Post by bubblegum » September 9th, 2020, 9:40 pm

bprentice wrote:
September 9th, 2020, 9:37 pm
bubblegum wrote:
September 9th, 2020, 8:55 pm
Take this code block. To see different neighbourhoods hit M, click "Pattern" on the top, "Change Rule" on the top, and modify the R and N parameters to see different neighbourhoods in different ranges.
This doesn't work. I want to see a picture of each neighborhood, rather than explore them.

Brian Prentice
Just press Space with C2,S,B1,N<whatever> to get the neighbourhood.

If you're that intent on seeing a picture, get out a camera.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

lemon41625
Posts: 355
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Rule String Definitions

Post by lemon41625 » September 9th, 2020, 9:59 pm

bprentice wrote:
September 9th, 2020, 9:37 pm
bubblegum wrote:
September 9th, 2020, 8:55 pm
Take this code block. To see different neighbourhoods hit M, click "Pattern" on the top, "Change Rule" on the top, and modify the R and N parameters to see different neighbourhoods in different ranges.
This doesn't work. I want to see a picture of each neighborhood, rather than explore them.

Brian Prentice
https://lazyslug.com/lifeview/plugin/ne ... hoods.html

The other method also works. Just step one generation forward and the neighbourhood shape will show up.
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

User avatar
muzik
Posts: 5652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Rule String Definitions

Post by muzik » April 19th, 2021, 12:22 am

Brian,

The neighbourhood specifications are as follows:
The Moore neighbourhood (NM) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NM
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NM : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NM
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NM : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NM
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NM : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NM
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NM : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NM
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NM : R5" ]]
The von Neumann neighbourhood (NN) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NN
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NN : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NN
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NN : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NN
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NN : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NN
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NN : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NN
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NN : R5" ]]
The checkerboard neighbourhood (NB) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NB
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NB : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NB
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NB : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NB
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NB : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NB
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NB : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NB
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NB : R5" ]]
The cross neighbourhood (N+) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,N+
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N+ : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,N+
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N+ : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,N+
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N+ : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,N+
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N+ : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,N+
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N+ : R5" ]]
The saltire neighbourhood (NX) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NX
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NX : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NX
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NX : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NX
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NX : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NX
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NX : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NX
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NX : R5" ]]
The star neighbourhood (N*) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,N*
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N* : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,N*
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N* : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,N*
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N* : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,N*
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N* : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,N*
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N* : R5" ]]
The hash neighbourhood (N#) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,N#
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N# : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,N#
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N# : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,N#
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N# : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,N#
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N# : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,N#
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N# : R5" ]]
The circular neighbourhood (NC) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NC
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NC : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NC
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NC : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NC
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NC : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NC
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NC : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NC
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NC : R5" ]]
The Euclidean neighbourhood (N2) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,N2
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N2 : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,N2
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N2 : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,N2
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N2 : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,N2
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N2 : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,N2
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N2 : R5" ]]
The tripod neighbourhood (N3) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,N3
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N3 : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,N3
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N3 : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,N3
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N3 : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,N3
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N3 : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,N3
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "N3 : R5" ]]
The asterisk neighbourhood (NA) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NA
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NA : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NA
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NA : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NA
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NA : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NA
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NA : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NA
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NA : R5" ]]
The hexagonal neighbourhood (NH) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NH
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NH : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NH
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NH : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NH
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NH : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NH
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NH : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NH
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NH : R5" ]]
The triangular Moore neighbourhood (NL) wrote:

Code: Select all

x = 1, y = 1, rule = R1,C0,M0,S0..0,B1..1,NL
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NL : R1" ]]

Code: Select all

x = 1, y = 1, rule = R2,C0,M0,S0..0,B1..1,NL
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NL : R2" ]]

Code: Select all

x = 1, y = 1, rule = R3,C0,M0,S0..0,B1..1,NL
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NL : R3" ]]

Code: Select all

x = 1, y = 1, rule = R4,C0,M0,S0..0,B1..1,NL
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NL : R4" ]]

Code: Select all

x = 1, y = 1, rule = R5,C0,M0,S0..0,B1..1,NL
o!
[[ CELLBORDERS AUTOSTART ZOOM 16.0 STOP 1 AGESTATES 2 COLOR ALIVERAMP 0 0 255 LABEL 0 -9 10 "NL : R5" ]]

bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: Rule String Definitions

Post by bprentice » April 19th, 2021, 9:57 am

muzik,

Thank you.

I still prefer the design of MCell and Square Cell where the neighborhood is displayed and modified using a dialog and the complete definition of the rule is included in each pattern file. See:

viewtopic.php?f=3&t=4706#p103785

http://bprentice.webenet.net/Square%20C ... lators.zip

Brian Prentice

Post Reply