No, that's my problem. Only way to push block I've found requires two gliders to be very close when colliding with it. I haven't found a way to produce gliders at that distance with guns. Pull and check for zero are very simple, though.
My rule is from family that is similar to outer totalistic rules, except that it has negative cells and negative neighbor counts. If cell has two positive and three negative neighbors, it's neighbor count is -1.
Each line describes new cell for certain value of current cell and sum of it's neighbors. First line is for negative cells, second for dead and third for positive. To get a value of cell in next generation, character with index of cell's neighbors count + 8 is looked up in line corresponding to this cell. Zero means cell dies, plus means it turns positive and minus means negative.
Sorry for weird notation, couldn't think of anything better.
Code: Select all
@RULE BTCA1
@COLORS
0 0 0 0
1 32 64 255
2 255 64 32
@TABLE
# rules: 203
#
# Golly rule-table format.
# Each rule: C,N,NE,E,SE,S,SW,W,NW,C'
# N.B. Where the same variable appears multiple times in a transition,
# it takes the same value each time.
#
# Default for transitions not listed: no change
#
n_states:3
neighborhood:Moore
symmetries:rotate8reflect
var a={0,1}
var b={0,1}
var c={0,1}
var d={0,1}
var e={0,1}
var f={0,2}
var g={0,2}
var h={0,2}
var i={0,2}
var j={0,2}
var k={1,2}
var l={0,1,2}
var m={0,1,2}
var n={1,2}
var o={1,2}
0,a,b,c,d,e,1,1,1,1
0,f,g,h,i,j,2,2,2,2
0,0,a,b,c,1,0,1,1,1
0,0,f,g,h,2,0,2,2,2
0,0,0,a,1,0,0,1,1,1
0,0,a,0,1,0,1,0,1,1
0,a,b,c,1,1,1,1,2,1
0,a,b,0,1,1,1,2,1,1
0,0,a,0,1,1,2,1,1,1
0,f,g,h,1,2,2,2,2,2
0,0,0,f,2,0,0,2,2,2
0,0,f,0,2,0,2,0,2,2
0,0,f,g,2,1,2,2,2,2
0,0,f,0,2,2,1,2,2,2
f,0,0,1,0,0,1,0,1,1
0,0,a,1,0,1,1,1,2,1
0,0,a,1,0,1,1,2,1,1
f,0,0,1,0,1,2,1,1,1
f,0,0,1,0,2,1,1,1,1
0,f,g,1,0,2,2,2,2,2
0,0,a,1,1,0,1,1,2,1
0,0,a,1,1,0,1,2,1,1
f,0,0,1,1,0,2,1,1,1
0,0,a,1,1,1,0,1,2,1
f,0,0,1,1,1,0,2,1,1
0,0,a,1,1,1,1,0,2,1
0,0,f,1,2,0,2,2,2,2
0,f,g,1,2,2,0,2,2,2
0,f,0,1,2,2,2,0,2,2
a,0,0,2,0,0,2,0,2,2
a,0,0,2,0,1,2,2,2,2
a,0,0,2,0,2,1,2,2,2
a,0,0,2,0,2,2,1,2,2
a,0,0,2,1,0,2,2,2,2
a,0,0,2,1,2,0,2,2,2
a,0,0,2,2,0,1,2,2,2
f,0,1,0,1,0,1,1,2,1
f,0,1,0,1,0,1,2,1,1
f,0,1,0,1,1,0,1,2,1
f,0,1,0,1,1,0,2,1,1
f,0,1,0,1,1,1,0,2,1
a,0,1,0,2,0,2,2,2,2
a,0,1,0,2,2,0,2,2,2
f,0,1,1,0,1,1,0,2,1
0,a,1,1,1,1,1,2,2,1
0,a,1,1,1,1,2,1,2,1
f,0,1,1,1,1,2,2,1,1
0,a,1,1,1,2,1,1,2,1
f,0,1,1,1,2,1,2,1,1
f,0,1,1,1,2,2,1,1,1
0,a,1,1,2,1,1,1,2,1
f,0,1,1,2,1,1,2,1,1
f,0,1,1,2,1,2,1,1,1
0,f,1,1,2,2,2,2,2,2
a,0,1,2,0,2,0,2,2,2
a,0,1,2,0,2,2,0,2,2
f,0,1,2,1,1,1,1,2,1
f,0,1,2,1,1,1,2,1,1
0,f,1,2,1,2,2,2,2,2
a,0,1,2,2,0,2,0,2,2
0,f,1,2,2,1,2,2,2,2
0,f,1,2,2,2,1,2,2,2
a,0,1,2,2,2,2,1,2,2
a,0,1,2,2,2,2,2,1,2
a,0,2,0,2,0,2,1,2,2
f,0,2,1,1,1,1,1,2,1
a,0,2,1,1,2,2,2,2,2
a,0,2,1,2,1,2,2,2,2
a,0,2,1,2,2,1,2,2,2
a,0,2,1,2,2,2,1,2,2
a,0,2,2,1,1,2,2,2,2
a,0,2,2,1,2,1,2,2,2
k,0,0,0,0,0,0,l,m,0
k,0,0,0,0,f,1,g,l,0
k,f,0,0,0,a,l,1,2,0
k,0,0,0,a,b,l,0,2,0
1,0,0,0,0,0,2,2,2,2
k,0,0,0,0,1,f,g,n,0
k,l,0,0,0,1,a,f,2,0
k,f,0,0,g,1,l,2,1,0
k,0,0,0,a,f,b,c,2,0
1,0,0,0,0,2,0,2,2,2
k,0,a,b,f,2,c,1,2,0
k,0,0,0,1,0,f,g,n,0
k,0,0,0,n,0,l,1,2,0
k,f,0,0,1,g,l,2,1,0
k,0,0,f,l,g,2,1,1,0
k,0,0,0,n,1,0,o,2,0
k,0,0,a,1,2,b,2,n,0
k,a,0,b,1,2,l,0,2,0
1,0,0,0,1,2,2,2,2,2
k,0,0,a,2,b,c,d,2,0
1,0,0,0,2,0,0,2,2,2
k,0,a,b,f,c,1,2,2,0
1,0,0,0,2,0,2,0,2,2
k,0,0,f,g,1,l,1,2,0
1,0,0,0,2,1,2,2,2,2
1,0,0,0,2,2,1,2,2,2
k,0,0,1,0,0,n,l,2,0
k,f,0,1,0,g,1,2,l,0
k,0,0,1,f,1,g,l,2,0
k,0,0,1,f,n,g,2,1,0
k,0,0,n,0,1,a,f,2,0
k,0,0,1,0,n,2,0,o,0
k,0,0,1,a,2,b,l,2,0
k,0,0,n,f,2,g,1,1,0
1,0,0,1,0,2,2,2,2,2
k,f,0,1,1,0,g,l,2,0
k,0,0,n,1,f,1,g,2,0
k,0,0,n,1,1,f,g,2,0
1,0,0,1,1,1,1,1,1,2
k,f,0,1,a,1,l,2,2,0
k,f,0,1,a,n,2,1,2,0
k,f,g,1,1,n,2,2,1,0
k,0,0,1,1,2,2,1,1,0
k,0,0,1,2,0,0,n,2,0
1,0,0,1,2,0,0,2,1,0
k,0,a,1,2,b,f,c,2,0
1,0,0,1,2,0,2,2,2,2
k,0,f,l,2,1,a,2,1,0
k,a,b,1,2,2,c,d,2,0
1,0,0,1,2,2,0,2,2,2
k,a,0,1,f,n,1,2,2,0
1,0,0,1,2,2,2,0,2,2
k,0,0,2,0,0,2,1,2,0
1,0,0,2,0,1,0,2,2,0
k,f,g,2,a,b,1,1,2,0
k,0,a,n,0,1,2,b,2,0
k,a,b,2,c,2,d,1,2,0
k,a,b,2,2,1,1,2,2,0
k,0,1,0,1,f,l,g,2,0
k,0,1,0,1,l,2,m,2,0
k,f,1,0,1,l,a,2,2,0
1,0,1,0,1,1,1,1,1,2
k,0,n,a,1,b,2,0,2,0
k,f,1,g,1,l,2,2,1,0
k,0,1,0,1,2,a,1,2,0
k,0,n,f,1,2,a,2,1,0
k,0,1,0,2,a,l,b,2,0
k,0,1,a,2,1,f,n,2,0
1,0,1,0,2,2,1,2,2,0
1,0,1,1,0,1,1,1,1,2
k,f,1,1,0,n,2,a,2,0
k,0,n,a,f,1,2,2,1,0
1,0,1,1,1,0,1,1,1,2
k,0,1,1,n,0,o,2,2,0
k,0,1,1,1,0,2,a,2,0
k,0,1,1,1,1,0,2,2,0
k,0,n,o,1,2,0,1,2,0
k,f,1,1,a,2,0,2,n,0
k,0,1,1,1,2,1,0,2,0
k,0,1,1,2,0,1,1,2,0
k,0,1,1,2,0,1,2,1,0
k,f,1,n,2,g,2,1,1,0
k,0,1,1,2,1,1,0,2,0
1,0,1,1,2,2,2,0,2,0
1,0,1,1,2,2,2,2,2,2
1,0,1,2,0,1,2,2,2,0
k,l,1,2,a,2,b,2,1,0
k,0,1,2,1,0,1,2,1,0
k,0,1,2,1,0,2,2,2,0
k,a,1,2,1,2,0,2,2,0
k,a,1,2,1,2,2,b,n,0
1,0,1,2,1,2,2,2,2,2
k,0,1,2,2,0,1,2,2,0
k,0,1,2,2,0,2,1,2,0
k,a,1,2,2,0,2,2,1,0
k,0,1,2,2,1,0,2,2,0
k,a,1,2,2,1,2,0,2,0
1,0,1,2,2,1,2,2,2,2
k,0,1,2,2,2,1,0,2,0
1,0,1,2,2,2,1,2,2,2
k,0,2,0,2,1,1,2,2,0
k,0,2,1,1,2,0,2,2,0
k,0,2,1,2,0,2,1,2,0
1,f,2,2,2,2,2,2,2,2
1,1,1,1,1,1,1,1,2,2
k,1,1,1,n,o,2,2,2,0
1,1,1,1,2,1,2,1,2,0
k,1,2,1,2,2,1,2,2,0
2,0,0,0,0,0,1,1,1,1
2,0,0,0,0,1,0,1,1,1
2,0,0,0,1,0,0,1,1,1
2,0,0,0,1,0,1,0,1,1
2,0,0,0,1,1,1,1,2,1
2,0,0,0,1,1,1,2,1,1
2,0,0,0,1,1,2,1,1,1
2,0,0,1,0,1,1,1,2,1
2,0,0,1,0,1,1,2,1,1
2,0,0,1,1,0,1,1,2,1
2,0,0,1,1,0,1,2,1,1
2,0,0,1,1,1,0,1,2,1
2,0,0,1,1,1,1,0,2,1
2,0,0,2,2,2,2,2,2,1
2,a,1,1,1,1,1,1,1,1
2,0,1,1,1,1,1,2,2,1
2,0,1,1,1,1,2,1,2,1
2,0,1,1,1,2,1,1,2,1
2,0,1,1,2,1,1,1,2,1
2,0,2,0,2,2,2,2,2,1
2,0,2,2,0,2,2,2,2,1
2,0,2,2,2,0,2,2,2,1
2,1,2,2,2,2,2,2,2,1
And here are almost all patterns discovered in this rule (because of symmetry, it doesn't change behavior if whole pattern is negated):
The construction of logic gates with guns is trivial, this website describes it pretty well:
I'll be searching for a way to construct gun with gliders, it doesn't seem to be extremely hard because it's built from relatively common patterns.