File: pd-glider.lua

package info (click to toggle)
golly 3.3-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 20,176 kB
  • sloc: cpp: 72,638; ansic: 25,919; python: 7,921; sh: 4,245; objc: 3,721; java: 2,781; xml: 1,362; makefile: 530; javascript: 279; perl: 69
file content (24 lines) | stat: -rwxr-xr-x 643 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- Creates a large set of pentadecathlon + glider collisions.
-- Based on pd_glider.py from PLife (http://plife.sourceforge.net/).

local g = golly()
local gp = require "gplus"
local gpo = require "gplus.objects"

g.new("pd-glider")
-- best to create empty universe before setting rule
-- to avoid converting an existing pattern (slow if large)
g.setrule("B3/S23")

local function collision(i, j)
    return gpo.pentadecathlon + gpo.glider[i + 11].t(-8 + j, -10, gp.flip)
end

local all = gp.pattern()
for i = -7, 7 do
    for j = -9, 9 do
        all = all + collision(i, j).t(100 * i, 100 * j)
	end
end

all.display("") -- don't change name