cellular_automata.lua
local primitives = require('forma.primitives')
local automata = require('forma.automata')
local neighbourhood = require('forma.neighbourhood')
local multipattern = require('forma.multipattern')
local sq = primitives.square(80,20)
local ca = sq:sample(800)
local moore = automata.rule(neighbourhood.moore(), "B5678/S45678")
local ite, converged = 0, false
while converged == false and ite < 1000 do
ca, converged = automata.iterate(ca, sq, {moore})
ite = ite+1
end
multipattern.new({ca}):print({'#'}, sq)