Code: Select all
# Finds the collisions between a glider and another object,
# selected by the user.
import golly as g
from glife.base import *
rule("22da")
fish = pattern("o2$2bo$2o$2o2bo!")
mosquito = pattern(g.getcells(g.getselrect()))
def collision (i, j):
return fish + mosquito[i + k] (-25 + j, 30)
g.setgen("0")
def osc():
g.setgen("0")
init = g.getcells(g.getrect())
g.run(1)
while g.getcells(g.getrect()) != init:
g.run(1)
return int(g.getgen())
k = osc()
def range():
rule("22daHistory")
g.run(k)
h = g.getrect()[3] + g.getrect()[2]
g.reset()
return h
halfper = range()
def test(pat):
x = g.addlayer()
pat.display("x")
cll = g.getcells(g.getrect())
clld = cll[14:]
g.run(999 * k)
clll = g.getcells(g.getrect())
cllld = clll[:-14]
g.dellayer()
return clld != cllld
all = pattern()
for i in xrange(-k, 0):
for j in xrange(-halfper - 6, halfper + 5):
if test(collision(i,j)):
all += collision (i, j) (100 * i, 100 * j)
all.display("synthesis")
One of the guns whose location was set in Step 1 breaks due to an enigmatic explosion that produces a large amount of debris in the path of one of the gliders, which eventually destroys the p16 eating the gliders from the leftmost gun. After that the gliders from the leftmost gun destroy the bottom gun.c0b0p0 wrote: Note: If you find any problems, major or minor, in the current design, please post about them.
It turns out that it is easy to replace the original pattern produced for Step 1. One of the easiest way to do so it shown below.
Code: Select all
x = 1163, y = 1045, rule = 22da
25bo$92bo$26b2o$25bob2o63b2o$92b2obo7$68bo$2o67bo$bo65b2obo$68bo$b3o$
2b2o$3bo7$128bo$51b2o75b2o$52bo76bo$128bo2bo$52b3o3$9b3o2$10b3o$11b2o$
11bobo3$120bo4bo$119b2o2$121b2o$122bo$124b2o$124bo$63b2o$64bo2$64b3o2$
112bo4bo$111b2o2$113b2o$114bo30bo4bo$116b2o33b2o$116bo$151b2o$15bo2bo
133bo$17bo132b2o$17b2o133bo$18bo12bobo$31bob2o2$33b2o2$20bo$23bo$22bo$
21bo3$28bo$27bo$26bo$29bo2$15b2o164bo2$15b2obo163b2o$16bobo162bob2o7$
28b2obo$bob2o24b2o$3b2o$31bo$4bo4$48b2obo$49b2o2$51bo17$163bo2$164b2o$
163bob2o5$183bo2$184b2o$183bob2o3$205bo2$205b2o$205b2obo5$39b3o$40b2o$
41bob2o$44bo12$196bo$62bo133b2o$63b2o132bo$62bo133bo2bo$62b2o$98bo$62b
2o33b2o$64bo4bo30bo$100b2o2$102b2o$97bo4bo2$148b3o2$150bo$150b2o$90bo$
89b2o$92bo$92b2o2$94b2o$82b2o5bo4bo$81bobobo2$84bo$82b2o2b2o2$83b6o$
86bo$85b4o$87bo$160b3o2$162bo$162b2o11$146bo$144bob2o$145bo25bo$146bo$
127bo44b2o$128bo42bob2o$126b2obo$127bo268$504b3o$430b2obo71b2o$431b2o
70b2obo$504bo$433bo11$474bob2o$476b2o2$477bo5$541bo$361bobo177b2o$362b
2o178bo$362b3o176bo2bo2$363b3o92bo2bo$460bo$460b2o$461bo5$264bo$264b2o
bo151b2o$267bo152bo$267bo$420b3o$421b2o$422bo6$470bo2bo$472bo71bo$472b
2o71bo$473bo69b2obo$544bo2$448bo2b2o$451b2o$422bo27bo2$452bo3$422bo4bo
108bo$423bobobo109bo$423bob2obo106b2obo$536bo$571bo$571bo$571bob2o$
574bo20$437bo$438b2o$437bo169bo$437b2o$608b2o$437b2o168bob2o$439bo4bo
2$457bo$458b2o$457bo$457b2o2$457b2o$459bo4bo8$573bo4bo$579b2o2$579b2o$
580bo$578b2o$580bo2$593bo4bo$599b2o2$599b2o$600bo$598b2o$600bo2$620bo
2$620b2o$620b2obo15$463bo$463b2obo$466bo$466bo$501bo$499bob2o106bob2ob
o$500bo109bobobo$501bo108bo4bo5$615bo4$493bo$491bob2o69bo$492bo71b2o$
493bo71bo$564bo2bo5$486bo$486b2o$487bo$486bo2bo7$620bo$620b2o$576bo44b
o$576b2o42bo2bo$577bo$576bo2bo10$560bo2$560b2o$560b2obo6$592bo2$532bob
o58b2o$531bobob2o55bob2o$532bob3o$530bo4bobo$533bo2bo$531b2o2bobo$532b
o3bo$534bo115$660bo$660bobo$660bob3o$662b2o$664bo37$979bobo41b3o$978b
2obobo40b2o$979b3obo20bo17b2obo$979bobo4bo16b2o18bo$981bo2bo21bo$981bo
bo2b2o18b2o$983bo3bo$986bo21b2o$1003bo4bo3$1071bo2bo$987bo85bo$1073b2o
$1074bo3$987bo4bo$988bobobo$956b2o30bob2obo$957bo2$957b3o10$999bo2$
1082b2o$1083bo$1082bo2bo$999bo4bo78bobo$1000bobobo$1000bob2obo66bob2o$
1074b2o2$960b3o112bo2$962bo$962b2o5$1088bo4bo$1064bob2o$1066b2o19bobo
4bobo2$1067bo22bo4bo$1101b2obo$1102b2o2$1104bo3$77b2o4$958bo2$958b2o
138bobo$958b2obo136bo2bo$1100bo$1100b2o2$974bo$974b2obo$977bo149bo$
977bo150b2o$1127b3obo$1129bobo$1131bo2$994bo$994b2obo$997bo$997bo$
1145b3o$1146b2o$1147bob2o$1150bo27$1114bo$1114bo$1114bob2o$1117bo3$
1159bo2$1134bo24b2o$1134bo24b2obo$1134bob2o$1137bo14$1007bo2$1008b2o$
1007bob2o$1044bo2$1044b2o$1044b2obo6$1148b2o$1149bo2$1036bo112b3o2$
1036b2o$1036b2obo66bob2obo$1107bobobo$1107bo4bo5$1112bo6$1030bo$1030b
2o$1031bo$1030bo2bo4$1118bob2obo$1119bobobo$1119bo4bo5$1124bo$1158bo$
1158b2o$1159bo$1103bo4bo49bo2bo$1102b2o2$1104b2o$1105bo$1107b2o$1107bo
4$1082bo52bo2$1082b2o52b2o$1082b2obo49bob2o!