18 lines
402 B
Text
18 lines
402 B
Text
|
|
!YS-v0
|
||
|
|
|
||
|
|
defn main():
|
||
|
|
each line generate(10 '_###_##_#_#_#_#__#__'):
|
||
|
|
say: line
|
||
|
|
|
||
|
|
defn generate(n cells):
|
||
|
|
when n.?:
|
||
|
|
cons cells:
|
||
|
|
generate n.--:
|
||
|
|
loop cs cells, ncs subs(cells 0 1):
|
||
|
|
if cs.# >= 3:
|
||
|
|
recur cs.subs(1):
|
||
|
|
ncs +:
|
||
|
|
filter(\(_:S == '#') cs.subs(0 3))
|
||
|
|
.#.eq(2).if('#' '_')
|
||
|
|
else: ncs + cs.subs(1)
|