In theory, I have no idea -- I've never seen a rule table with variables anywhere except right up at the top.
Code: Select all
@RULE LifeHistory-test
@TABLE
n_states:7
neighborhood:Moore
symmetries:rotate8
var a={0,2,4,6}
var b={0,2,4,6}
var c={0,2,4,6}
var d={0,2,4,6}
var e={0,2,4,6}
var f={0,2,4,6}
var g={3,5}
var h={0,1,2}
var i={0,1,2,3,4,5,6}
var j={0,1,2,3,4,5,6}
var k={0,1,2,3,4,5,6}
var l={0,1,2,3,4,5,6}
var m={0,1,2,3,4,5,6}
var n={0,1,2,3,4,5,6}
var o={0,1,2,3,4,5,6}
var p={0,1,2,3,4,5,6}
var q={1,3,5}
var R={1,3,5}
var S={1,3,5}
var T={1,3,5}
var u={3,4,5}
# boundary cell always stays a boundary cell
6,i,j,k,l,m,n,o,p,6
# anything else that touches a boundary cell dies
# (using 'u' instead of 'g' below lets gliders survive as blocks)
g,6,i,j,k,l,m,n,o,4
1,6,i,j,k,l,m,n,o,2
# marked 3-neighbour birth
# (has to be separate from the next section
# only to handle the extra 'start' state 5)
4,R,S,T,a,b,c,d,e,3
4,R,S,a,T,b,c,d,e,3
4,R,S,a,b,T,c,d,e,3
4,R,S,a,b,c,T,d,e,3
4,R,S,a,b,c,d,T,e,3
4,R,a,S,b,T,c,d,e,3
4,R,a,S,b,c,T,d,e,3
# marked 3-neighbour survival
g,R,S,T,a,b,c,d,e,g
g,R,S,a,T,b,c,d,e,g
g,R,S,a,b,T,c,d,e,g
g,R,S,a,b,c,T,d,e,g
g,R,S,a,b,c,d,T,e,g
g,R,a,S,b,T,c,d,e,g
g,R,a,S,b,c,T,d,e,g
# normal 3-neighbour birth
h,R,S,T,a,b,c,d,e,1
h,R,S,a,T,b,c,d,e,1
h,R,S,a,b,T,c,d,e,1
h,R,S,a,b,c,T,d,e,1
h,R,S,a,b,c,d,T,e,1
h,R,a,S,b,T,c,d,e,1
h,R,a,S,b,c,T,d,e,1
# 2-neighbour survival
q,R,S,a,b,c,d,e,f,q
q,R,a,S,b,c,d,e,f,q
q,R,a,b,S,c,d,e,f,q
q,R,a,b,c,S,d,e,f,q
var a={0,1,2,3,4,5,6}
# ON states 3 and 5 go to history state 4 if they don't survive
g,i,j,k,l,m,n,o,a,4
# Otherwise ON states die and become the history state
q,i,j,k,l,m,n,o,a,2
@COLORS
1 0 255 0
2 0 0 128
3 216 255 216
4 255 0 0
5 255 255 0
6 96 96 96
At least, if the old definition of the 'a' variable were being used for the last two lines, state 1, 3, or 5 ON cell surrounded by ON cells should stay on instead of turning off -- but they don't.