Have you tried Scripts/Lua/1D.lua in Golly 3.3? It supports totalistic rules of the form CcKkRr where c is a code number from 0 to k^((2r+1)k2r)1, k is the number of states (2 to 4), and r is the range (1 to 4). Hit altR to generate a random pattern with a random rule. Hit H for more info.
Script request thread
Re: Script request thread
Re: Script request thread
A script that can turn mirek's weighted life notation into hensel notation where possible would be useful
Bored of using the Moore neighbourhood for everything? Introducing the Range2 von Neumann isotropic nontotalistic rulespace!
Re: Script request thread
This script by EricG does what you want except for using the Life32 version of Hensel notation:
https://conwaylife.com/forums/viewtopic ... 6816#p6816
It would be a simple matter to modify it for the alternate version adopted as the standard INT notation (swap r and y, replace v with n).
The latest version of the 5S Project contains over 226,000 spaceships. There is also a GitHub mirror of the collection. Tabulated pages up to period 160 (out of date) are available on the LifeWiki.
Re: Script request thread
Request: a script that retrieves the apgcodes of all Catagolue objects that 1) are halfbakery derivatives, such that all state2 cells below are dead and all state1 cells below are alive, and 2) have at least one C1 soup.
Code: Select all
x = 7, y = 7, rule = LifeHistory
4.2AB$2.BA2BA$.2BABAB$.2ABAB$A2BAB$ABAB$BAB!
Tanner Jacobi
Re: Script request thread
Codeholics old censusmatcher does the trick. You need to put the live cells and the dead cells as separate RLE in the target list with the same cell as the origin. Like this:Kazyan wrote: ↑January 4th, 2020, 10:54 pmRequest: a script that retrieves the apgcodes of all Catagolue objects that 1) are halfbakery derivatives, such that all state2 cells below are dead and all state1 cells below are alive, and 2) have at least one C1 soup.
Code: Select all
x = 7, y = 7, rule = LifeHistory 4.2AB$2.BA2BA$.2BABAB$.2ABAB$A2BAB$ABAB$BAB!
Code: Select all
#!/usr/bin/python
import csv
import os.path
import re
from urllib2 import urlopen
TARGETS = [
('4b2o$3bo2bo$3bobo$b2obo$o2bo$obo$bo!', '6bo$2bob2o$b2obobo$3bobo$b2obo$bobo$obo!')
]
TRANSFORMATIONS = [
[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 0, 0, 1],
[0, 1, 1, 0],
]
def decode_rle(encoded):
x, y = 0, 0
pos = 0
cells = set()
while pos < len(encoded):
prev = pos
while 48 <= ord(encoded[pos]) < 58:
pos += 1
n = int(encoded[prev:pos]) if pos > prev else 1
ch = encoded[pos]
if ch == '$':
y += n
x = 0
elif ch == 'b':
x += n
elif ch == 'o':
for i in range(0, n):
cells.add((x, y))
x += 1
pos += 1
return cells
def decode_wechsler(encoded):
_, encoded = encoded.split('_', 1)
cells = set()
x, y = 0, 0
pos = 0
while pos < len(encoded):
ch = encoded[pos]
if ch == 'w':
x += 2
elif ch == 'x':
x += 3
elif ch == 'y':
pos += 1
x += 4 + int(encoded[pos], 36)
elif ch == 'z':
x = 0
y += 5
else:
value = int(ch, 36)
for n in range(0, 5):
if value & (1 << n):
cells.add((x, y+n))
x += 1
pos += 1
return cells
def match_pattern(pattern, wanted, unwanted):
for pivot in wanted:
break
if not pivot:
return None
for x, y in pattern:
failed = False
for i, j in wanted:
if (x+ipivot[0], y+jpivot[1]) not in pattern:
failed = True
break
if failed:
continue
for i, j in unwanted:
if (x+ipivot[0], y+jpivot[1]) in pattern:
failed = True
break
if failed:
continue
return True
return False
def transform_pattern(pattern, dx, dy, dxx = 1, dxy = 0, dyx = 0, dyy = 1):
cells = set()
for x, y in pattern:
cells.add((x*dxx + y*dxy + dx, x*dyx + y*dyy + dy))
return cells
def get_patterns():
if not os.path.exists('census.txt'):
remote = urlopen('http://catagolue.appspot.com/textcensus/b3s23/C1')
census = open('census.txt', 'w')
census.write(remote.read())
census.close()
census = open('census.txt', 'r')
patterns = []
for row in csv.reader(census):
if row[0] == 'apgcode':
continue
patterns.append(row)
census.close()
return patterns
targets = []
for t in TARGETS:
targets.append((decode_rle(t[0]), decode_rle(t[1])))
for pattern, freq in get_patterns():
if pattern[:2] != 'xs':
continue
decoded = decode_wechsler(pattern)
for t in TRANSFORMATIONS:
p = transform_pattern(decoded, 0, 0, *t)
for target in targets:
if match_pattern(p, *target):
print(pattern + " " + freq)
break
else:
continue
break
Code: Select all
xs14_g88m952z121 283395935015
xs18_g88m952sgz121 89634
xs18_xo4k871z69521 31366
xs20_3iabgzw125aic 5527
xs20_g88m952z1254ko 3355
xs20_354k8gzx122dik8 2258
xs20_0g8ka96z1qa9o 1541
xs20_39m88gzx125aic 188
xs20_69ak8gzx1qa96 159
xs20_69ak8gzx122dic 114
xs21_4a9m88gzcia521 300064
xs21_69ak8gzcie1221 70471
xs21_354m88gzcia521 68359
xs21_255m88gzcia521 65022
xs21_39eg88gzcia521 27169
xs21_69ak8gzx122dik8 14708
xs21_39eg8gzx122dik8 2574
xs21_69ak8gzx1221eg8gzy51 1162
xs21_69ak8gzx122dkk8 725
xs21_69ak8g0s252zx1221 711
xs21_8ehbgzw122dik8 93
xs21_69ak8g0s246zx1221 25
xs21_69ak8gzx1221eg8o 22
xs21_259m88gzy01252ak8 7
xs21_065la4oz4a9611 2
xs21_08ehe8gzcia521 1
xs21_0cahe8gzcia521 1
xs22_699m88gzcia521 92862
xs22_069ak8gz8kie1221 14162
xs22_4aicgn98czx1243 5656
xs22_259m88gzy01252ako 5592
xs22_259eg88m952zy0121 4450
xs22_0g8ka960uh3z1221 2523
xs22_wg8kic0fhoz2543 2169
xs22_259eg8gzy0122dik8 823
xs22_0354kmzo4kb421z01 581
xs22_xg84o0uh3z4a9611 581
xs22_69ak8g0s2sgzx1221 298
xs22_0g8ka960uicz1221 283
xs22_4a9e0o4k8zw69521 216
xs22_wg8kic0f96z2543 128
xs22_69ak8gzx1221ege2 92
xs22_wg8kid1egoz2543 84
xs22_69ak8g0s453zx1221 67
xs22_y0g88m952zg0s4521z11 49
xs22_69ak8gzx122dkic 39
xs22_4aicgg0si52zx1243 21
xs22_4aicggc8a52zx1243 13
xs22_69ak8g0s253zx1221 11
xs22_69ak8g0s256zx1221 11
xs22_259ak8gzy0122dik8 9
xs22_69ak8gzx1221eg8ozy51 9
xs22_08ehabgzcia521 4
xs22_69ak8gzx122d4k8gzy51 4
xs22_y0g88m952zg8k4521z11 4
xs22_g88m952sga6z121 3
xs22_xg84q23123z4a9611 3
xs22_xo4kb2ak8z69521 2
xs22_69ak8gzx1221eg84c 1
xs22_cik8gwrdzx34521 1
xs23_699e0o4k8zw69521 17412
xs23_4aicgg0si96zx1243 1948
xs23_4aicggca952zx1243 1418
xs23_4aicgn9aczx1243 316
xs23_y0g88m952zo4ie121z01 166
xs23_69ak8g0s2qkzx1221 148
xs23_31eowg8kiczx12543 130
xs23_y2ggm96z0g8ka96z1221 54
xs23_69ak8g0s2552zx1221 48
xs23_69ak8gzx122hu066 40
xs23_4aicgg0si53zx1243 28
xs23_69ak8g2u066zx1221 26
xs23_4aicggc8a53zx1243 24
xs23_69ak8gzx1221egma 23
xs23_69ak8g2u0oozx1221 20
xs23_69ak8gzx122hu0oo 13
xs23_259m88gzciie121 9
xs23_y3oe13zg88m9521z121 8
xs23_4acgf9gzcia521 7
xs23_xg84q23ck8z4a9611 5
xs23_0g8ka96zhaq54cz01 3
xs23_cik8gwo8a52zx34521 3
xs23_69ak8gzxhaa9ozw121 2
xs23_69ak8gzxhaq54czy01 2
xs23_05b88czg88m952z121 1
xs23_0g8ka96zhaa9oz23 1
xs23_252s0g8gzw110122dik8 1
xs23_259m88hf84czy0121 1
xs23_wg8ka96z0haa9oz121 1
xs23_wg8kic0fh8oz2543 1
xs23_xg84o0uh23z4a9611 1
xs24_0354kl3zo4kb421z01 6808
xs24_j1u0o48gz11x1169a4 3636
xs24_069ak8gz3phe1221 1331
xs24_6a897o4k8zw69521 1057
xs24_0mligz0h8ka96z1221 32
xs24_0cilmz0g8ka96z1221 15
xs24_09fgbbgzcia521 8
xs24_69ak8gzx122hu0ok8 8
xs24_g88m952z12lkk8z032 7
xs24_cik8gwo4a96zx34521 6
xs24_y3o4a53zg88m9521z121 6
xs24_0g8ka96zhaahe2z011 5
xs24_69ak8gzx1221egma4 5
xs24_wg8kid1ege2z2543 5
xs24_35a88czg88m952z121 4
xs24_69ak8gzx1221ege13 4
xs24_g88m952zpid4ko 4
xs24_wg8ka96z0haa9oz321 4
xs24_0g8ka96z1221eh952 3
xs24_25b88czg88m952z121 3
xs24_3pmxg84ozw34a9611 3
xs24_cik8gwo4a53zx34521 3
xs24_352s0g8gzw110122dik8 2
xs24_652s0g8gzw110122dik8 2
xs24_69ak8g0s2pmzx1221 2
xs24_69ak8gzx1qa9ozw321 2
xs24_69ak8gzx1qa9ozy3123 2
xs24_xg84q23ckoz4a9611 2
xs24_y2gil96z0g8ka96z1221 2
xs24_y3o4a96zg88m9521z121 2
xs24_0312jai3z8kid221 1
xs24_069ak8gzgs2uh221 1
xs24_08o69ak8gzmq1x1221 1
xs24_0dbgf9gzcia521 1
xs24_0g8ka96zha616a4z11 1
xs24_178fh8gzy0122dik8 1
xs24_32arwg8kiczx12543 1
xs24_69ak8g0s2596zx1221 1
xs24_69ak8gzca61ui1 1
xs24_69ak8gzmkkd221z1 1
xs24_69ak8gzx122diczy4113 1
xs24_69ak8gzx122hu06a4 1
xs24_69ak8gzxhaa9ozw123 1
xs24_69ak8gzxhaq54czx11 1
xs24_cik8gwo8b52zx34521 1
xs24_o4p7o48gz01x1169a4 1
xs24_wg8ka96z01qa9oz321 1
xs24_wg8ka96z0haa9oz123 1
xs25_0g8ka96z122dkk871 1112
xs25_o4q23zg99m952z121 636
xs25_69ak8g0s2qrzx1221 583
xs25_xg8ka96zg89qa9oz11 76
xs25_x6a88a52zg88m952z121 63
xs25_25a88a6zg88m952z121 55
xs25_651u08k4ozw11x12596 54
xs25_0g88m952zo9a98gzx321 44
xs25_y1g8ka96zmmge1221z1 22
xs25_0354mk46zo4kb421z01 20
xs25_0j1u0o48gz121x1169a4 14
xs25_06a88a52zg88m952z121 11
xs25_32q4oxo4k8zx1169521 10
xs25_69ak8gzx1qa98gzy3343 9
xs25_0g8ka96zhaalkcz11 8
xs25_628c97o4k8zx69521 7
xs25_69ak8gzx1221ego8a6 6
xs25_02llicz69ak8gzx1221 4
xs25_0g8ka96zhaal4cz121 4
xs25_4aicggdb871zx1243 4
xs25_69ak8gzx1221egm96 4
xs25_8k4owokk871zw12596 4
xs25_31e8gzxijcia4zw3421 3
xs25_0oe13zwh9licz2543 2
xs25_25a88gzcil9hzx3452 2
xs25_69ak8gz0g89aq1z343 2
xs25_69ak8gz62sjaq1 2
xs25_69ak8gzx1221egm93 2
xs25_69ak8gzxhaal4czx121 2
xs25_05b88a6zg88m952z121 1
xs25_069ak8gzwg89aq1z2521 1
xs25_0g8ka96zhaq54koz01 1
xs25_0mljgz0h8ka96z1221 1
xs25_259m88ge93zwc4521 1
xs25_25a897o4k8zx69521 1
xs25_35a4oxo4k8zx1169521 1
xs25_39s0g8gz3210122dik8 1
xs25_39u0o48gz32x1169a4 1
xs25_69ak8gzcie1mq1 1
xs25_69ak8gzwo9aa9ozx23 1
xs25_69ak8gzx1aq1e8zx321 1
xs25_69ak8gzxhaa96zw343 1
xs25_69ak8gzxhaa9ozw343 1
xs25_8k4r2q48gzw1x1169a4 1
xs25_ca2s0g88m952zx12521 1
xs25_wg8ka96z0haa9oz343 1
xs25_x5b88a6zg88m952z121 1
xs25_xg84q2ria4z4a9611 1
xs25_y0g88m952zmkie121z1 1
xs25_y0gj1u0oozo4kb421z01 1
xs25_y4o4871zwg8kid11z2543 1
xs26_39u08k4oz321x12596 37
xs26_35a88a6zg88m952z121 14
xs26_69ak8gzciu1qq1 14
xs26_069baa4zg88m952z121 10
xs26_6t1u0o48gzw1x1169a4 8
xs26_x69ak8gzxok4d221z253 7
xs26_x6a88a53zg88m952z121 7
xs26_69ak8gzciu1ui1 6
xs26_gs2llmzo4kb421z01 6
xs26_mkhf0cik8gz1y33452 5
xs26_06a88a53zg88m952z121 4
xs26_0j1u0o48gz321x1169a4 4
xs26_wc9b871zg88m952z121 4
xs26_wdrz3ia9m952z0121 4
xs26_04aab96zg88m952z121 3
xs26_8k4o798c48czw12596 3
xs26_069a4ozcil9hzx3452 2
xs26_0g8ka96z1221ehp56 2
xs26_35a88gzcil9hzx3452 2
xs26_35a897o4k8zx69521 2
xs26_ra2s0g8gzw110122dik8 2
xs26_0354mg6qzo4kb421z01 1
xs26_064lb8jdzcia521 1
xs26_069ak8gzwg89aq1z2543 1
xs26_06a88b52zg88m952z121 1
xs26_178b9czg88m952z121 1
xs26_31eozw12ia4oz04a9611 1
xs26_356o8zy0h9liczw2543 1
xs26_6952s0g8gzx110122dik8 1
xs26_69a4ozy0h9liczw2543 1
xs26_69ak8gzciehaq1zw1 1
xs26_69ak8gzx1221ego8a52 1
xs26_69ak8gzx1221egozy6356 1
xs26_69ak8gzx122d4kozy6352 1
xs26_69ak8gzx12ehik8zy4123 1
xs26_69ak8gzx12ehu06a4 1
xs26_69icgcik8gzx23x3452 1
xs26_8e1t60g8kiczx12543 1
xs26_8e1u0o48gzw23w1169a4 1
xs26_x69baa4zg88m952z121 1
xs26_xi5m88m952z65110121 1
xs26_y2mkk871z0g8ka96z1221 1
xs27_y0ml1u0oozo4kb421z01 174
xs27_651u08k4oz0321x12596 135
xs27_6t1u08k4ozw11x12596 64
xs27_69ak8gzx1qq1uge2 33
xs27_xckggka52z0ggcia4z3421 30
xs27_gj1u08k4oz1221x12596 21
xs27_259m88gzy01259hu0oo 20
xs27_ckggka52z4aicggzx1243 20
xs27_0ckggka52z0ggcia4z3421 7
xs27_g88m952z12lkk8z696 6
xs27_x6a88brzg88m952z121 6
xs27_3hu0o48gz643w1169a4 4
xs27_8k4o0e9j08ozw1259611 3
xs27_cq1u08k4oz0121x12596 3
xs27_wj1u0o48gz2521x1169a4 3
xs27_y0mm0u156zo4kb421z01 3
xs27_06996zcil9h3zx3452 2
xs27_08kkm453z0g8ka96z1221 2
xs27_0ckggm96z0ggcia4z3421 2
xs27_0g8ka96zhaal4koz121 2
xs27_2egmp3z0g88m952z0121 2
xs27_69mggkcz0ggcia4z3421 2
xs27_g84q552zg99m952z121 2
xs27_g8k453z1ijcia4z3421 2
xs27_x2lla8kk8zo4kb421z01 2
xs27_x5b8b96zg88m952z121 2
xs27_xg88m952z8kkl21zx696 2
xs27_069ba96zg88m952z121 1
xs27_0g31eoz8l5p1zw12596 1
xs27_0g8ka960uiz122dia4 1
xs27_0g8ka96z1221eio0ui 1
xs27_0g8ka96zhaalkcz123 1
xs27_0g8p78k4oz3421x12596 1
xs27_0gy1g8ka96z349mge1221 1
xs27_0rb88a6zg88m952z121 1
xs27_259m88gzy01259hu066 1
xs27_31egmmzwg8ka96z01221 1
xs27_35is0g8gzw470122dik8 1
xs27_39m88gzxhhdia4zw3421 1
xs27_69ak8gz4a61uihzy223 1
xs27_8k4o03pmge2zw12596 1
xs27_g0s255m88gz110cia521 1
xs27_o48gxml1e8z01169a43 1
xs27_wc9baaczg88m952z121 1
xs27_wcaab9czg88m952z121 1
xs27_y0ml1u066zo4kb421z01 1
xs28_0g8ka9m88gz122dia521 13117080
xs28_0g8ka96z1iidia4z3421 5778
xs28_0g8ka9mggz1221eip023 87
xs28_69ak8gzx122dik8gzy53452 9
xs28_w8o653z3ia9m952z0121 5
xs28_xg88bbgzxo5l91z69521 3
xs28_0ckgoge13z0ggcia4z3421 2
xs28_0g8ka96z1aq1eicz321 2
xs28_0g8ka96zhaahe2koz011 2
xs28_0g8ka96zhaq1uicz11 2
xs28_354lb8jdzcia521 2
xs28_xg88m952z4aidhhzx1243 2
xs28_039u08k4oz6521x12596 1
xs28_0bq2koz0ijcia4z3421 1
xs28_0c4owg8ka96zok9701221 1
xs28_0ckgil96z0ggcia4z3421 1
xs28_0g8ka96z122dkk8z6513 1
xs28_0g8ka9mggz1221ehe221 1
xs28_0oimge13z4aicggzx1243 1
xs28_178ba96zg88m952z121 1
xs28_255q84ozxg99m952zx121 1
xs28_651u08k4oz2521x12596 1
xs28_696o8gzw1iidia4zw3421 1
xs28_69ak8gzm2s3qq1z11 1
xs28_69ak8gzx1ijcia4zx3421 1
xs28_8k4o0e9jzw1259616a4 1
xs28_cill2zxh9licz02543 1
xs28_g88bbgz8l5p1zw12596 1
xs28_g88m952sgz121xciq23 1
xs28_ml1u0o48gz121x1169a4 1
xs28_o48gw3lkia4z01169a43 1
xs28_o4k6p3zg99m952z121 1
xs28_wcaab9a4zg88m952z121 1
xs28_x6a88e1e8zg88m952z121 1
xs28_xckggka53z0ggcia4z3421 1
xs28_xckggm952z0ggcia4z3421 1
xs28_xg88m952z8kkl21zx69a4 1
xs28_y0ggc9bqiczo4kb421z01 1
xs29_ml1u08k4oz1221x12596 35
xs29_x69ak8gzw3phe1221z253 11
xs29_69mgmicz0ggcia4z3421 10
xs29_256o8gzw64kb8m952zy0121 9
xs29_0g8ka96o8gz1221w2fgb6 6
xs29_03lkmggozwh8kicz2543 2
xs29_y0ml1u0696zo4kb421z01 2
xs29_039u0o48gzca23w1169a4 1
xs29_0g8k8a53z1iidia4z3421 1
xs29_0g8ka96w8oz122dkk8711 1
xs29_0j9acz347o4k8z69521 1
xs29_0okkm88m952zca24521 1
xs29_252sgzx254kmzwo4kb421zx1 1
xs29_35s2aczxh9licz02543 1
xs29_651u08k4oz6521x12596 1
xs29_69ak8gxg8kczx1221egf2 1
xs29_69ak8gzcie1qa1zy01252 1
xs29_69ak8gzx1221egmmzy6346 1
xs29_8e1egmmzxg8ka96zw1221 1
xs29_c9jz354ngcia4zw3421 1
xs29_cimge96zg88m952z121 1
xs29_wc9b8b96zg88m952z121 1
xs29_wckgogka52zwg8kicz2543 1
xs29_wmlligozwh8kicz2543 1
xs29_xcimgm93z0ggcia4z3421 1
xs29_y0ml1u0653zo4kb421z01 1
xs29_y18o0e93z8k4r221zw12596 1
xs29_y2ogie0e96zg88m952z121 1
xs30_wciiriiczwg8kicz2543 62
xs30_699eg88m952zc970121 9
xs30_069b88b96zg88m952z121 4
xs30_xokie0e96z259m88gzy0121 4
xs30_651u08k4oz33032w12596 3
xs30_699eg8gzc970122dik8 3
xs30_8k4owokie0e96zw12596 3
xs30_gg06996z12ib8n952zw121 3
xs30_ca1u08k4oz33032w12596 2
xs30_069icw8k8zxo5l91z69521 1
xs30_0g8ka960uh3z122diic 1
xs30_0gillm88m952z346w121 1
xs30_0mligowo4k8z346w69521 1
xs30_ciqbaacz0g88m952z0121 1
xs30_g8ka52z12iai3zw122dik8 1
xs30_ml1u8z1iidia4z3421 1
xs30_xg88m952z0c89a9oz6953 1
xs30_xo48ci53zxo5l91z69521 1
xs31_03lkmggkczwh8kicz2543 4
xs31_0g8ka9mggz1221078c1eic 2
xs31_0259a4z69d1dik8gzy33452 1
xs31_0g8ka96z1221ehp3s4ozy51 1
xs31_0g8ka96zhaa98gz1qq321 1
xs31_0g8ka96zhaap8gz122qq1 1
xs31_0o4c0ci96zw1p5l8z69521 1
xs31_354ljgzw1248n4ozy312596 1
xs31_69ak8gzx1qa1u0e96zy1121 1
xs31_o80uh3z8l5q23zw12596 1
xs31_wcc0v1oozcil9hzx3452 1
xs32_0g8ka9m88ge2z122dia521 5
xs32_069acw8ozw3h95p1z4a9611 1
xs32_69mggzw6aq10g8kiczy012543 1
xs32_g88m952s0c4oz121y0ol5d 1
xs32_w3ia4oz4a9m99m952zx121 1
xs33_02lligz0346kk3zo4kb421z01 1
xs33_3lk453z344ngcia4zw3421 1
xs33_x2lligzx3kk643zo4kb421z01 1
xs33_y3gbr8brzwg8kic32z2543 1
xs35_354kl3zw32gv04aicggzy61243 1
xs37_6996o8gz04aidiidik8zy01243 2
Re: Script request thread
Request: A script that reads a 2state rule table and outputs its MAP string
Bored of using the Moore neighbourhood for everything? Introducing the Range2 von Neumann isotropic nontotalistic rulespace!
Re: Script request thread
Wouldn't this version of MAPper work? I.e., Ctrl+Shift+O the rule table in question, then run MAPper and copy out the MAP string?
I just tried this with olife, and got a MAP string that seems to behave identically to olife:
Code: Select all
x = 60, y = 60, rule = MAPARYXfhbofmgeaHboaIDogDZoXuhogOiAaIDogIAAgABWaD7oaIDogGiA6ICAAIAAaIDogIAAgACAAIAAAAAAAA
b2obob4obobo5bo2bo3b4ob3ob3o2b3o2b3obo4b5o$2o6b2obobob2o2b2o2bo2bo2b4o
b2o5b3obo2bob5o4bo$2b2o3bo4bob2obo2b3o2bob2ob2obobob2ob2o7bo2b2obo$2o
2bob2ob6ob3obo3b2o2bo2bo2bo2b2o3b2o3b4o2b3ob3o$3bo4bobo2bobo2b2o2bo4b
2o4bo5b4ob5ob2o2bo2b3o$4o5bobobo2bob4obo5bob2o3bo2b3o2b3obo2b3o3bobo$b
2obob3obo2b2o2bo2bo2bobobo7bo5bob2obobo2b4ob4o$2o2b3o3bo4b3obo2bo3b2o
2bobo6b2o2b2obo2b3obo2bo2bo$b3o2b2o3b2o2bob2obo3bobo3b2ob2o6b3obo2b2o
4bo4bo$b6obo3bo3b3obob8o2b2o3bobo5bo2bobo2bo3bo$b2o3bo3b5obob2o2b2ob2o
b2ob2o3b2o2bo3bobo4bobob3o$bobo3b2obobob3ob3o6bobo4bo3bob4o2bob2o2b2o
5bo$5bo2b2obo6b4o2bob2ob2ob2o3bob5obob2o4b3o$7obob2o3bo2b2o2bo4bo4b2ob
2ob4o2bobob4o2b2obo$o2b2ob2o2b11obob4ob3o5b4ob2obob2ob2o2bo2bobo$obob
3ob2obobob2o2b2obobob5obo2bo4b2o2b2obo3b2o3bobo$obo3b4ob3ob5obo3b2ob2o
2b4o2b2o2bo4b3o2bo3b2o$5bobobobob2o4bob4obob2o4b2o2bobobo3b2o2bo2b3o$o
b2obobo2bo2bob3o2bo5bob2ob2o2b2obobobob2ob4ob2ob5o$3b5obo3bo2bo8b3o2bo
4bo4bo2bobob2ob3o3bo$o2bo3bobo2b3obo3b2obob2o2bob3o5bob2o5bo3b2o2bob2o
$o3bo3bo2b2o4b3ob4ob3ob4obob5ob3ob4obobob2o$2ob4obobobobobo2bo2b2o2b2o
8bob2obobo4bo4b4o$2o6bobo3bo2b3ob4o2b9o2bobobo3b2o4b2o2b4o$5ob5obo3b2o
b6obo2bob3obob4o2b4o2b2ob2obo2b2o$2ob3ob2o2b2o2b2ob2obob2obobo2b4ob2ob
2ob2o2b5ob3obob2o$3o5b2o3b5ob4o6b2o5bo2b4o2b3ob9obo$b2o3b2obob3obo3b3o
7bo3bo5b2ob2obo2bo3bo5b2o$o4b5ob3o3b3o4b2o3b5o2b2obo2b3o2b2o3bo3bobo$b
2o3b2obob3obo3b6o2b2obob2ob5obo2bo2b2obo2bo2bo$3b2ob2ob3obo2b3ob2o3b2o
4bobo3bob4obo3b2o3b2obob2o$2b4o5b5ob8o4b2o2b3obobob3obo2b2obo3bobobo$
4bobob3ob3o4bo2bo2b2o3bobobo3bobo7bo4bobo3bo$2o3b3ob4o2b2o2bo3b2obob2o
b3obo3b2o3bobo2bo2bobo4bo$o6b3ob3ob6obobob3ob2ob2ob2ob3ob2o2b2obo6bobo
$3b2ob2o2bob2o2b3ob3ob3o2b3o2b6o3bob2o2b2o2b2o$o3b3ob4o2bob2o3b2o8bob
2o2b2obo3bobo4b4o$3ob3o3b8o3b2obo2b2o2bo2b2obo3bo3bob2obo3b2obo$obob2o
bob6obo3bobo2bob2ob4o4b3ob3o2b2ob2ob3ob2o$o4b3ob2ob2o2bo2bobobo3b2obob
4obob2o2b4ob3o3b2o$3b2o2b2o2bo3bobobo4bo5bo2b2obo2bobo2bobobo3b3o2b2o$
bobo4b3o2bo3b2obob2o2b6obo2bo3bo3bob3o4b3o2bo$4o5bo2b2o3b5o2bobo2b2o3b
3ob4o2b2o2b2o2b3ob3o$2b2o3bob4obob3o3bo4bo7b4obob3o2b6o$b4ob3ob5o2bo5b
2ob2o2bob2o7bo3b4o2bo2bob2o$ob6o2b3ob3o6bob2obo3b3ob2obo2b3o2b6o2bo2bo
$o2bob2obob3o3b3o2b2obob2obo4bo2b3o3bo3bo4b4o2bo$bo2b2o2b5o2bobobob2ob
5o5b2o2b6o3bo2bo3bo2bo$bo2bobob4o7bobo3bob4o3b6obo2bo3bob3o4bobo$3bo2b
2obob2o3b5obob2ob2o3b2o2b2ob2o2bob2ob2obob2o$bo4b2o2b3o2bo2bob2obobo2b
obobobo2b2o2bo3bob2obo7bo$b2o2b2o2b3obob2o3bo3bobo2bobo2bobob2ob2o4bo
2bob2o2b4o$3ob6obo2bo6b2o2b2obo2bo2b2obob2ob2obo6bo2bo3bo$o2bob3ob5o3b
obo2b2o4bo5bo3b3o3bob3obo2b2ob2o$b4obob3ob4o5b3obo4b2obo4b2o2b2o2bo2bo
4bob3o$2ob3obo3b3o3b2o2bob2obo3b5o3b5ob4obo3bo3b3o$ob3ob2o3bob2ob2o2b
2o2bo3bo2bo4bo3bo4b2o5b3ob2obo$3obo2bob3obob3ob3o2bo3b2o2b3ob3obo2b2o
2b2o4bo2b4o$b3obobob2obo2b2obo4b2ob4o5b2ob2o3bo2bo2b2obob2o3bo$b2ob2ob
2ob3obo2bo3bobobo3b4o3b4obob2o3bo2bo7bo!
[[ THUMBNAIL THUMBSIZE 3 ]]
Code: Select all
x = 60, y = 60, rule = olife
b2obob4obobo5bo2bo3b4ob3ob3o2b3o2b3obo4b5o$2o6b2obobob2o2b2o2bo2bo2b4o
b2o5b3obo2bob5o4bo$2b2o3bo4bob2obo2b3o2bob2ob2obobob2ob2o7bo2b2obo$2o
2bob2ob6ob3obo3b2o2bo2bo2bo2b2o3b2o3b4o2b3ob3o$3bo4bobo2bobo2b2o2bo4b
2o4bo5b4ob5ob2o2bo2b3o$4o5bobobo2bob4obo5bob2o3bo2b3o2b3obo2b3o3bobo$b
2obob3obo2b2o2bo2bo2bobobo7bo5bob2obobo2b4ob4o$2o2b3o3bo4b3obo2bo3b2o
2bobo6b2o2b2obo2b3obo2bo2bo$b3o2b2o3b2o2bob2obo3bobo3b2ob2o6b3obo2b2o
4bo4bo$b6obo3bo3b3obob8o2b2o3bobo5bo2bobo2bo3bo$b2o3bo3b5obob2o2b2ob2o
b2ob2o3b2o2bo3bobo4bobob3o$bobo3b2obobob3ob3o6bobo4bo3bob4o2bob2o2b2o
5bo$5bo2b2obo6b4o2bob2ob2ob2o3bob5obob2o4b3o$7obob2o3bo2b2o2bo4bo4b2ob
2ob4o2bobob4o2b2obo$o2b2ob2o2b11obob4ob3o5b4ob2obob2ob2o2bo2bobo$obob
3ob2obobob2o2b2obobob5obo2bo4b2o2b2obo3b2o3bobo$obo3b4ob3ob5obo3b2ob2o
2b4o2b2o2bo4b3o2bo3b2o$5bobobobob2o4bob4obob2o4b2o2bobobo3b2o2bo2b3o$o
b2obobo2bo2bob3o2bo5bob2ob2o2b2obobobob2ob4ob2ob5o$3b5obo3bo2bo8b3o2bo
4bo4bo2bobob2ob3o3bo$o2bo3bobo2b3obo3b2obob2o2bob3o5bob2o5bo3b2o2bob2o
$o3bo3bo2b2o4b3ob4ob3ob4obob5ob3ob4obobob2o$2ob4obobobobobo2bo2b2o2b2o
8bob2obobo4bo4b4o$2o6bobo3bo2b3ob4o2b9o2bobobo3b2o4b2o2b4o$5ob5obo3b2o
b6obo2bob3obob4o2b4o2b2ob2obo2b2o$2ob3ob2o2b2o2b2ob2obob2obobo2b4ob2ob
2ob2o2b5ob3obob2o$3o5b2o3b5ob4o6b2o5bo2b4o2b3ob9obo$b2o3b2obob3obo3b3o
7bo3bo5b2ob2obo2bo3bo5b2o$o4b5ob3o3b3o4b2o3b5o2b2obo2b3o2b2o3bo3bobo$b
2o3b2obob3obo3b6o2b2obob2ob5obo2bo2b2obo2bo2bo$3b2ob2ob3obo2b3ob2o3b2o
4bobo3bob4obo3b2o3b2obob2o$2b4o5b5ob8o4b2o2b3obobob3obo2b2obo3bobobo$
4bobob3ob3o4bo2bo2b2o3bobobo3bobo7bo4bobo3bo$2o3b3ob4o2b2o2bo3b2obob2o
b3obo3b2o3bobo2bo2bobo4bo$o6b3ob3ob6obobob3ob2ob2ob2ob3ob2o2b2obo6bobo
$3b2ob2o2bob2o2b3ob3ob3o2b3o2b6o3bob2o2b2o2b2o$o3b3ob4o2bob2o3b2o8bob
2o2b2obo3bobo4b4o$3ob3o3b8o3b2obo2b2o2bo2b2obo3bo3bob2obo3b2obo$obob2o
bob6obo3bobo2bob2ob4o4b3ob3o2b2ob2ob3ob2o$o4b3ob2ob2o2bo2bobobo3b2obob
4obob2o2b4ob3o3b2o$3b2o2b2o2bo3bobobo4bo5bo2b2obo2bobo2bobobo3b3o2b2o$
bobo4b3o2bo3b2obob2o2b6obo2bo3bo3bob3o4b3o2bo$4o5bo2b2o3b5o2bobo2b2o3b
3ob4o2b2o2b2o2b3ob3o$2b2o3bob4obob3o3bo4bo7b4obob3o2b6o$b4ob3ob5o2bo5b
2ob2o2bob2o7bo3b4o2bo2bob2o$ob6o2b3ob3o6bob2obo3b3ob2obo2b3o2b6o2bo2bo
$o2bob2obob3o3b3o2b2obob2obo4bo2b3o3bo3bo4b4o2bo$bo2b2o2b5o2bobobob2ob
5o5b2o2b6o3bo2bo3bo2bo$bo2bobob4o7bobo3bob4o3b6obo2bo3bob3o4bobo$3bo2b
2obob2o3b5obob2ob2o3b2o2b2ob2o2bob2ob2obob2o$bo4b2o2b3o2bo2bob2obobo2b
obobobo2b2o2bo3bob2obo7bo$b2o2b2o2b3obob2o3bo3bobo2bobo2bobob2ob2o4bo
2bob2o2b4o$3ob6obo2bo6b2o2b2obo2bo2b2obob2ob2obo6bo2bo3bo$o2bob3ob5o3b
obo2b2o4bo5bo3b3o3bob3obo2b2ob2o$b4obob3ob4o5b3obo4b2obo4b2o2b2o2bo2bo
4bob3o$2ob3obo3b3o3b2o2bob2obo3b5o3b5ob4obo3bo3b3o$ob3ob2o3bob2ob2o2b
2o2bo3bo2bo4bo3bo4b2o5b3ob2obo$3obo2bob3obob3ob3o2bo3b2o2b3ob3obo2b2o
2b2o4bo2b4o$b3obobob2obo2b2obo4b2ob4o5b2ob2o3bo2bo2b2obob2o3bo$b2ob2ob
2ob3obo2bo3bobobo3b4o3b4obob2o3bo2bo7bo!
[[ THUMBNAIL THUMBSIZE 3 ]]
Re: Script request thread
Is there one for converting neumann binary rules to ruletables?
Bored of using the Moore neighbourhood for everything? Introducing the Range2 von Neumann isotropic nontotalistic rulespace!
 LaundryPizza03
 Posts: 617
 Joined: December 15th, 2017, 12:05 am
 Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"
Re: Script request thread
A script to turn a working oscillator or spaceship partial into an LLS search file for partial extension. For example, taking the first 11 rows of this:
and making an LLS search file that looks like this (red = *, white = *').
I did this manually several times and found it tedious.
Code: Select all
x = 22, y = 7, rule = B2n3/S23q
20bo$10b2o5b2obo$3b2o4bo2bo4b4o$2ob3o2bo5b2o5bo$3b2o4bo2bo4b4o$10b2o5b
2obo$20bo!
Code: Select all
x = 16, y = 9, rule = B2n3/S23qHistory
11B4DC$11B4DC$10BA4DC$3B2A4BAB4DC$2AB3A2BA2B4DC$3B2A4BAB4DC$10BA4DC$
11B4DC$11B4DC!
Code: Select all
x = 4, y = 3, rule = B3q4z5y/S234k5j
2b2o$b2o$2o!
Re: Script request thread
Is there a version of Giffer out there that produces PNGs instead of GIFs? I tried just changing the file name to .png, and it worked surprisingly well... until I tried to upload the images to the wiki, which rejected them due to a discrepancy between the file extension and the actual MIME file type.
Wiki: http://www.conwaylife.com/wiki/User:Ian07
Discord: Ian07#6028
Discord: Ian07#6028
Re: Script request thread
A methuselah searching script that works like this
Except it does not check stabilization by checking if the population of the previous generation and the current population are the same (It will stuck forever if there is an oscillator in the ash. Also, some definitely not stable pattern satisfy that.)
Taken from Golly Scripts thread, then modified a bit
Code: Select all
local g = golly()
local gp = require "gplus"
local selection = g.getselrect()
if #selection == 0 then
g.exit("There is no selection.")
end
largestlifespanfoundsofar = 0
runpatterns = 0
founddiehards = 0
g.addlayer()
g.setlayer(0)
while ( true ) do
g.new("")
g.select(selection)
g.randfill(37)
runpatterns = runpatterns+1
count = 0
while ( true ) do
previ = tonumber(g.getpop())
g.run(1)
count = count+1
if tonumber(g.getpop()) == previ then
if (count > largestlifespanfoundsofar) then
largestlifespanfoundsofar = count
g.show(""..runpatterns.." patterns run, found "..largestlifespanfoundsofar.."generation methuselah")
g.reset()
g.setlayer(1)
g.dellayer()
g.duplicate()
g.setname(largestlifespanfoundsofar.."generation methuselah")
g.update()
g.setlayer(0)
end
break
end
end
end
Taken from Golly Scripts thread, then modified a bit
Proud member of the p22ers!
Working on:
LeapLife Demonoid
Working on:
LeapLife Demonoid

 Posts: 441
 Joined: June 27th, 2009, 10:58 am
 Location: Germany
Re: Script request thread
Take a large list of patterns available as one large file (e.g. a collection of all odd symmetric 2c/5 Space ships of width 17 like available from Matthias). Then I want a script in Golly to select exactly those that contain a given sub pattern.
This could be used e.g. for finding connections of partial results to known parts without need to run a full wls search. I‘ve done. This manually for all the time, but there must be a better way.
Hartmut
This could be used e.g. for finding connections of partial results to known parts without need to run a full wls search. I‘ve done. This manually for all the time, but there must be a better way.
Hartmut
 gameoflifemaniac
 Posts: 923
 Joined: January 22nd, 2017, 11:17 am
 Location: There too
Re: Script request thread
https://github.com/dvgrn/b3s23life/blob ... nthesis.pygameoflifemaniac wrote: ↑March 25th, 2020, 6:30 pmHow about a script that merges incremental syntheses?
It's not perfect, and it doesn't really work with certain types of syntheses, but it does work if you're willing to adjust the positions of the steps manually. From what I've heard, there's also a new version intermittently in development.
Wiki: http://www.conwaylife.com/wiki/User:Ian07
Discord: Ian07#6028
Discord: Ian07#6028
Re: Script request thread
Hmm, I haven't heard anything about that. It's more like, every time I try to make it work and it doesn't because of some obscure bug or other, I fix that bug and get it working for that case (and probably introduce two new bugs). Somebody should just rewrite it from scratch, and plan for handling intermediate oscillators and arbitrary spacing between stages and so on, from the ground up this time.
Re: Script request thread
I just want a spaceship search script in Python, because C does not work for me.
Also don't use Lifelib because it also doesn't work for me.
Also don't use Lifelib because it also doesn't work for me.
Last edited by yaochen2 on March 26th, 2020, 11:57 pm, edited 1 time in total.
 Saka
 Posts: 3201
 Joined: June 19th, 2015, 8:50 pm
 Location: In the kingdom of Sultan Hamengkubuwono X
 Contact:
Re: Script request thread
Hi, welcome to the forums!
Can you detail why C doesnt work? Did you follow the Tutorials? Most search programs are written in C, unfortunately, but if you really want something you might want to check out this thread:
viewtopic.php?f=9&t=3039
Instead of finding spaceships in a rule, it finds rules where a pattern is a spaceship.
Code: Select all
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!
Re: Script request thread
but everytime I try to follow the tutorial it always says an error message
I created a C folder inside the cygwin64 folder and put the script in there.
I created a C folder inside the cygwin64 folder and put the script in there.
Last edited by yaochen2 on March 27th, 2020, 12:07 am, edited 1 time in total.
 Saka
 Posts: 3201
 Joined: June 19th, 2015, 8:50 pm
 Location: In the kingdom of Sultan Hamengkubuwono X
 Contact:
Re: Script request thread
Could you post it here along with what you typed in?
Code: Select all
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!
 Saka
 Posts: 3201
 Joined: June 19th, 2015, 8:50 pm
 Location: In the kingdom of Sultan Hamengkubuwono X
 Contact:
Re: Script request thread
ok, from what I can tell, you made a folder called "C" in cygwin64 and inside that folder you made a folder called gfind and then put gfind.c inside the "gfind" folder, yes?
It seems like something has changed in the new Cygwin update, try instead putting the C folder inside cygwin64 > home > YourUsername and then try it again. I'll update the tutorial.
Code: Select all
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!
Re: Script request thread
i give up trying to use C
 Saka
 Posts: 3201
 Joined: June 19th, 2015, 8:50 pm
 Location: In the kingdom of Sultan Hamengkubuwono X
 Contact:
Re: Script request thread
1. Stop being rude please, and try to be more motivating.
Yaochen, most search programs are written in C, not just gfind, so I suggest you push on and keep trying. What problems are you running into now exactly? Perhaps wait until a more experienced member arrives.
Code: Select all
x = 17, y = 10, rule = B3/S23
b2ob2obo5b2o$11b4obo$2bob3o2bo2b3o$bo3b2o4b2o$o2bo2bob2o3b4o$bob2obo5b
o2b2o$2b2o4bobo2b3o$bo3b5ob2obobo$2bo5bob2o$4bob2o2bobobo!
 gameoflifemaniac
 Posts: 923
 Joined: January 22nd, 2017, 11:17 am
 Location: There too
Re: Script request thread
For information, for those who don't know, this is a modified version of my script finding diehards. And Hunting, it doesn't work the right way.Hunting wrote: ↑March 6th, 2020, 6:56 pmA methuselah searching script that works like thisExcept it does not check stabilization by checking if the population of the previous generation and the current population are the same (It will stuck forever if there is an oscillator in the ash. Also, some definitely not stable pattern satisfy that.)Code: Select all
local g = golly() local gp = require "gplus" local selection = g.getselrect() if #selection == 0 then g.exit("There is no selection.") end largestlifespanfoundsofar = 0 runpatterns = 0 founddiehards = 0 g.addlayer() g.setlayer(0) while ( true ) do g.new("") g.select(selection) g.randfill(37) runpatterns = runpatterns+1 count = 0 while ( true ) do previ = tonumber(g.getpop()) g.run(1) count = count+1 if tonumber(g.getpop()) == previ then if (count > largestlifespanfoundsofar) then largestlifespanfoundsofar = count g.show(""..runpatterns.." patterns run, found "..largestlifespanfoundsofar.."generation methuselah") g.reset() g.setlayer(1) g.dellayer() g.duplicate() g.setname(largestlifespanfoundsofar.."generation methuselah") g.update() g.setlayer(0) end break end end end
Taken from Golly Scripts thread, then modified a bit
This script says this methuselah lasts 239 generations;
Code: Select all
x = 16, y = 16, rule = B3/S23
5bo2b2o5bo$2obobo3bobo2b2o$8bo$3bo5bo$b3o6bobo2bo$2bo3b3obo4bo$b2obo4b
o3b3o$2o9bobo$4bobo2b2obo2bo$2obo5bob4o$3bobobobo3bo$3bobob2ob2ob2o$2o
7b2o3b2o$obo2bobo2bobo$2bobo2b4o$obobo7bo2bo!
This is a signature