Code: Select all
@RULE GoucherParticleLoop
#state 0 is blank
#state 1 is tail
#state 2 is head
#state 3 is right reflector
#state 4 is left reflector
#state 5 is construction cell
#state 6 is duplicator
#state 7 is push constructor
#state 8 is right turn
#state 9 is left turn
#state 10 is left and right duplicator constructor
#state 13 is left duplicator constructor
#state 14 is right duplicator constructor
#state 11 is left and right left-turn constructor
#state 12 is "construction done" signal
#state 15 is left and right right-turn constructor
#state 16 is turner+latcher
#state 17 is construction signal
#state 18 is special
#state 19 is special
#state 20 is special
#state 21 is push turn
#state 22 is special push
#state 23 is special constructor
#state 24 is stop special push 1
#state 25 is stop special push 2
#state 26 is useless reflector
#state 27 is useless reflector constructor
#state 28 is immune signal
#state 29 is eater
@TABLE
n_states:30
neighborhood:Moore
symmetries:rotate4
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,3,4,5,6,7,16,18,19,20,26}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={2,8,9,10,11,13,14,15,17,27}
var q={p}
var r={0,1}
var s={0,1,7,26,p}
var t={s}
var u={3,4,26}
var v={0,p}
var w={0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29}
var x={w}
var y={w}
var z={w}
var A={w}
var B={w}
var C={w}
var D={23,12}
# b used to be p
5,12,0,0,0,0,0,0,0,0
12,5,0,0,0,0,0,0,0,0
0,p,6,i,m,e,j,n,1,p
0,p,1,i,m,e,j,n,6,p
23,28,0,0,0,0,0,0,0,0
28,D,a,b,c,12,d,e,f,0
3,28,12,0,0,0,0,0,p,29
22,1,0,0,0,p,0,0,6,12
0,22,0,0,u,0,0,0,0,23
0,28,6,a,b,c,d,e,12,28
0,28,12,a,b,c,d,e,6,28
29,12,28,0,0,0,0,0,28,0
3,28,28,a,b,c,d,e,f,29
p,28,a,b,c,d,e,f,g,28
0,28,w,x,y,z,A,B,C,28
p,0,a,12,28,b,c,d,e,0
p,1,q,1,0,0,0,u,0,28
p,1,q,1,0,0,0,6,0,28
p,1,0,1,0,u,0,0,0,28
p,1,0,1,0,6,0,0,0,28
0,7,0,0,0,i,0,0,0,5
u,7,a,b,c,d,e,f,g,5
6,7,a,b,c,d,e,f,g,5
0,0,0,0,0,8,3,0,0,0
0,p,0,0,0,u,0,28,0,28
0,26,0,7,0,0,0,v,r,28
0,0,0,18,0,0,0,0,26,5
5,5,a,b,c,d,e,f,g,0
5,a,5,b,c,d,e,f,g,0
p,a,b,c,d,22,e,f,6,23
0,p,0,29,0,0,0,28,0,28
0,p,12,6,0,0,0,0,0,0
0,0,0,0,0,0,1,28,6,28
0,3,0,0,0,0,0,p,12,0
0,a,b,c,d,22,e,f,6,23
6,28,a,b,c,d,e,f,g,29
29,28,a,b,c,d,e,f,g,0
0,0,0,29,0,0,0,28,0,28
28,29,0,0,0,12,0,0,0,1
28,29,0,0,0,12,0,1,0,1
#0,0,0,0,29,28,12,0,0,22
1,0,0,0,29,28,12,0,0,22
0,0,0,0,1,8,6,0,0,0
0,28,12,0,0,0,0,0,4,28
0,28,0,0,0,3,0,0,0,28
0,0,12,28,3,0,0,0,0,28
0,0,0,28,0,0,0,4,0,28
u,28,a,b,c,d,e,f,g,0
1,p,1,0,0,0,0,0,6,28
p,0,0,1,0,1,0,6,0,28
1,p,1,0,0,0,0,0,3,28
p,0,0,1,0,1,0,3,0,12
0,1,0,0,1,28,6,0,0,28
0,1,p,0,0,28,0,0,0,28
0,26,0,1,0,28,0,0,0,28
0,0,0,1,0,0,12,28,26,28
0,3,0,1,0,28,0,0,0,28
0,0,0,1,0,0,12,28,3,28
0,0,p,1,0,0,0,28,0,28
0,1,0,4,0,0,0,28,0,28
0,1,0,0,4,28,12,0,0,28
26,28,a,b,c,d,e,f,g,0
0,0,0,0,12,28,26,0,0,28
0,p,0,28,0,6,0,a,0,28
6,28,a,b,c,d,e,f,g,0
s,28,i,j,k,t,l,m,n,28
28,a,b,c,d,e,f,g,h,12
12,28,b,c,d,e,f,g,h,0
0,1,0,0,1,17,3,0,0,2
0,1,0,0,0,19,0,0,0,17
20,a,b,c,d,e,f,g,h,19
19,a,b,c,d,e,f,g,h,5
0,0,0,17,5,0,0,0,0,0
0,0,0,0,0,0,5,17,0,0
5,2,3,0,0,0,0,0,1,18
18,a,b,c,d,e,f,g,h,0
0,18,0,0,0,0,0,0,0,5
0,17,3,0,0,0,0,0,1,2
0,1,7,0,0,p,0,0,0,12
p,0,7,0,0,1,0,0,0,12
0,1,0,7,0,p,0,0,0,19
0,1,0,0,7,p,0,0,0,17
1,p,7,0,0,0,0,0,0,12
1,p,0,7,0,0,0,0,0,20
p,0,0,7,0,1,0,0,0,5
12,p,1,0,0,0,0,0,6,0
12,i,p,j,1,q,k,l,m,12
12,p,1,i,0,1,q,0,0,12
12,i,j,k,l,p,1,m,q,12
12,p,i,j,q,1,k,l,1,12
12,p,i,j,k,q,1,l,1,12
12,p,1,i,1,q,j,k,l,12
12,p,1,i,j,k,l,m,n,12
12,p,1,i,j,k,l,m,n,12
12,p,i,j,k,l,m,n,1,12
12,1,p,i,j,k,l,m,n,12
12,1,i,j,k,l,m,n,p,12
p,1,a,b,c,12,d,e,f,12
6,p,a,b,c,d,e,f,12,16
6,p,12,b,c,d,e,f,a,16
12,p,a,b,c,d,e,f,g,0
p,4,0,0,0,1,0,12,0,12
p,3,0,12,0,1,0,0,0,12
3,p,a,b,c,d,e,f,12,0
4,p,12,b,c,d,e,f,a,0
1,7,0,0,0,0,0,2,0,5
1,a,b,c,d,e,f,g,h,0
p,a,b,c,d,e,f,g,h,1
0,p,12,i,j,e,l,m,o,p
0,p,i,j,e,l,m,o,12,p
0,p,i,c,d,e,f,g,o,p
0,p,3,i,j,e,l,m,1,p
0,p,26,i,j,e,l,m,1,p
#0,17,1,i,m,e,k,j,3,5
0,17,3,i,m,e,k,j,1,2
3,17,a,b,c,d,e,f,g,6
0,p,1,i,m,e,k,j,4,p
16,2,a,b,c,d,e,f,g,3
0,2,16,i,m,e,k,j,1,17
0,p,16,i,m,e,k,j,1,p
5,2,3,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,4,7
5,2,6,0,0,0,0,0,1,7
5,2,1,0,0,0,0,0,6,7
5,2,0,0,c,d,e,0,0,7
7,a,b,c,d,e,f,g,h,0
0,7,i,j,k,l,m,n,o,5
0,7,0,0,0,1,p,0,0,5
0,0,0,7,0,0,1,p,0,5
5,8,0,0,0,0,0,0,0,3
0,8,5,0,0,0,0,0,1,5
0,27,5,a,b,c,d,e,1,5
5,27,0,0,0,0,0,0,0,26
5,2,26,0,0,0,0,0,1,18
5,9,0,0,0,0,0,0,0,4
0,a,b,c,5,9,1,d,e,5
5,10,0,0,0,0,0,0,0,6
0,a,b,c,5,10,1,d,e,5
5,10,0,0,0,0,0,0,0,6
0,10,5,0,0,0,0,0,1,5
5,11,0,0,0,0,0,0,0,4
0,a,b,c,5,11,1,d,e,5
5,11,0,0,0,0,0,0,0,6
0,11,5,a,b,c,d,e,1,5
0,13,1,a,b,c,d,e,5,5
5,13,0,0,0,0,0,0,0,6
5,14,0,0,0,0,0,0,0,6
0,14,5,a,b,c,d,e,1,5
5,15,0,0,0,0,0,0,0,3
0,a,b,c,5,15,1,d,e,5
5,15,0,0,0,0,0,0,0,6
0,15,5,a,b,c,d,e,1,5
#my transitions
#useless
0,7,0,0,1,0,2,0,0,5
0,7,0,0,2,1,0,0,0,5
0,7,0,0,0,2,1,0,0,5
#complete loop
5,0,0,1,17,2,0,0,0,21
21,a,b,c,d,e,f,g,h,0
0,0,0,0,0,21,0,0,0,3
0,0,0,1,0,1,1,21,0,22
22,a,b,c,d,e,f,g,h,1
0,0,0,1,0,0,0,22,0,2
0,17,1,i,m,e,k,j,3,23
23,0,0,0,6,2,1,0,0,22
0,0,0,0,0,22,0,0,0,23
23,0,0,0,0,8,0,0,0,24
24,a,b,c,d,e,f,g,h,1
0,0,0,0,0,24,0,0,0,25
25,a,b,c,d,e,f,g,h,0
0,0,0,0,0,25,0,0,0,5
@COLORS
1 255 255 255 #white
2 0 0 255 #blue
3 255 0 0 #red
4 122 107 255 #lavender
5 0 255 255 #cyan
6 0 255 0 #green
8 255 128 128 #pale red
9 200 150 255 #pale lavender
10 200 255 255 #pale lavender-green
11 122 229 255 #lavender-green
12 133 99 99 #light wood
13 100 200 255 #deep lavender-green
14 255 255 0 #red-green
15 255 255 128 #pale red-green
16 150 0 0 #dark red
17 100 66 66 #medium wood
26 100 0 75 #dark blue-red
27 255 0 255 #blue-red
28 209 67 43 #crimson