Page 1 of 1

Rule String Definitions

Posted: September 9th, 2020, 3:18 pm
by bprentice
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

Re: Rule String Definitions

Posted: September 9th, 2020, 7:54 pm
by lemon41625
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>

Re: Rule String Definitions

Posted: September 9th, 2020, 8:47 pm
by bprentice
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

Re: Rule String Definitions

Posted: September 9th, 2020, 8:55 pm
by bubblegum
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.

Re: Rule String Definitions

Posted: September 9th, 2020, 9:37 pm
by bprentice
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

Re: Rule String Definitions

Posted: September 9th, 2020, 9:40 pm
by bubblegum
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.

Re: Rule String Definitions

Posted: September 9th, 2020, 9:59 pm
by lemon41625
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.

Re: Rule String Definitions

Posted: April 19th, 2021, 12:22 am
by muzik
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" ]]

Re: Rule String Definitions

Posted: April 19th, 2021, 9:57 am
by bprentice
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