Code: Select all
/* order for nine neighbors is nw, ne, sw, se, n, w, e, s, c */
int f(int[] a)
{
int [] count = new int[4];
int cell = a[8];
for (int i = 0; i < 8; i++)
count[a[i]]++;
if (cell == 0)
{
if ((count[3] == 3) && (count[1] == 1))
return 1;
if (count[1] == 2)
return 1;
}
else
{
if (cell == 1)
return 2;
if (cell == 2)
return 0;
if (cell == 3)
return cell;
}
return 0;
}
Code: Select all
@RULE Wilfred
@TREE
num_states=4
num_neighbors=8
num_nodes=57
1 0 2 0 3
2 0 0 0 0
1 1 2 0 3
2 0 2 0 0
3 1 3 1 1
2 2 0 2 2
3 3 5 3 3
4 4 6 4 4
3 5 1 5 5
2 0 2 0 2
3 3 5 3 9
4 6 8 6 10
3 1 9 1 3
4 4 10 4 12
5 7 11 7 13
3 1 1 1 1
4 8 15 8 8
2 2 2 2 0
3 9 5 9 17
4 10 8 10 18
5 11 16 11 19
3 3 17 3 1
4 12 18 12 21
5 13 19 13 22
6 14 20 14 23
4 15 15 15 15
5 16 25 16 16
3 17 5 17 3
4 18 8 18 27
5 19 16 19 28
6 20 26 20 29
4 21 27 21 4
5 22 28 22 31
6 23 29 23 32
7 24 30 24 33
5 25 25 25 25
6 26 35 26 26
4 27 8 27 6
5 28 16 28 37
6 29 26 29 38
7 30 36 30 39
5 31 37 31 7
6 32 38 32 41
7 33 39 33 42
8 34 40 34 43
6 35 35 35 35
7 36 45 36 36
4 6 8 6 6
5 37 16 37 47
6 38 26 38 48
7 39 36 39 49
8 40 46 40 50
5 7 47 7 7
6 41 48 41 52
7 42 49 42 53
8 43 50 43 54
9 44 51 44 55
Code: Select all
x = 34, y = 35, rule = Wilfred
.5C4.3C4.7C4.5C$C2A.BAC2.C3.C2.C4.BA.C2.C.A3.C$C2B.BAC2.C2.BC2.CA6.
C2.CB4.C$C5.C2.C.A.C2.CB6.C2.C5.C$CAB.2BC3.3C3.C7.C2.C4.BC$CAB.2AC9.
C6.BC2.C3.A.C$.5C10.C6.AC3.5C$16.C.AB4.C$17.7C4$.21C$C9.BA10.C$C21.
C$C21.C$C21.C$C21.C$C21.C$C21.C$C21.C$C21.C$C20.BC$CA19.AC$CB20.C$C
21.C$C21.C$C21.C$C21.C$C21.C$C21.C$C21.C$C21.C$C10.AB9.C$.21C!
Code: Select all
x = 43, y = 7, rule = Wilfred
CBAC7.C.BAC7.C2.BAC7.C3.BAC$.2C9.3C9.4C9.5C$.2C9.C.C9.C2.C9.C3.C$C2.
C8.3C9.C2.C9.C3.C$11.C3.C8.4C9.C3.C$23.C4.C8.5C$36.C5.C!
Code: Select all
x = 36, y = 3, rule = Wilfred
CBC6.C.BC6.C2.BC6.C3.BC$.CA7.2CA7.3CA7.4CA$C.C6.C2.C6.C3.C6.C4.C!
Code: Select all
x = 7, y = 19, rule = Wilfred
2.5C$3.3A$4.BA$2.5C12$7C$2.3A$2.2B$7C!
Code: Select all
x = 14, y = 14, rule = Wilfred
5C$.3A.BA.BA.BA$2.BA.BA.BA.BA$5C4$11.2A$11.2B$10.C2.C$10.C2AC$10.CA
BC$10.CA.C$10.C2.C!
Code: Select all
x = 14, y = 16, rule = Wilfred
10.C2.C$10.CABC$10.C.BC$10.C2BC$10.C2AC8$5C$.3BA.BA$.A.BA.BA$5C!
Code: Select all
x = 23, y = 57, rule = Wilfred
3$16.C2.C$16.CA.C$16.CABC$16.C2AC$16.C2.C$17.2B$17.2A$15.A$15.2B$14.
A2.A$4.5C5.AB.B$6.BA.BA.BA.B$5.3A.BA.BA.BA$4.5C4$17.B$16.BA$16.A$17.
2B$17.2A3$17.2A$17.2B$16.A$16.BA$17.B4$4.5C$5.3A.BA.BA.BA$6.BA.BA.B
A.B$4.5C5.AB.B$14.A2.A$15.2B$15.A$17.2A$17.2B$16.C2.C$16.C2AC$16.CA
BC$16.CA.C$16.C2.C!
Code: Select all
x = 28, y = 40, rule = Wilfred
12.C2.C$12.CA.C$12.CABC$12.C2AC$12.C2.C$13.2B$13.2A2$12.BAB$13.A$5C
$2.BA.BA.BA$.3A.BA.BA$5C$13.B$12.BA$12.A$13.2B$13.2A3$13.2A$13.2B$15.
A$14.AB$14.B$23.5C$18.AB.AB.3A$18.AB.AB.AB$23.5C$14.A$13.BAB2$13.2A
$13.2B$12.C2.C$12.C2AC$12.CBAC$12.C.AC$12.C2.C!