[Edu-sig] Game of Life on a Hexapent
kirby urner
kirby.urner at gmail.com
Sun Jul 30 22:23:50 CEST 2006
On 7/30/06, kirby urner <kirby.urner at gmail.com> wrote:
> I need to go back and look at that "no change" rule again.
>
Seems OK if I just go:
for tile in gameboard.keys():
alive_n = 0 # number of alive neighbors
alive_s = gameboard[tile] # get whether current cell is alive
neighbors = globalmatrix[tile]
# count living neighbors (if any)
for n in neighbors:
if gameboard[n]:
alive_n += 1
# current rules of life (adjust to suit)
# e.g. you may want a "no change in state" neutral value
if alive_n in [0,1]:
nextme = False
elif alive_n in [2,3]:
nextme = True
elif alive_n == 4:
if alive_s:
nextme = True # keep me the way I am
else:
nextme = False # ditto
elif alive_n in [5,6]:
nextme = False
if nextme == True:
alive.append(tile)
else:
dead.append(tile)
But I don't like the evolutionary pattern as much. Gets too crowded
too quickly.
In general, with life propagating everywhichway around a ball, the
tendency seems to be a chaotic but self-sustainable mess within short
order, starting from just one pentagon and its five neighbors.
I haven't yet discovered any so-called gliders or whatever, and it's
already time to move on to other projects.
> If you download Adrian's Packinon, you can generate a higher frequency
> ball as an OFF file (in geodesic -c 2,3 2 | pol_recip | off_util -O >
> output.off, up that 2nd 2 to like 3) and all the same source code
> *should* work (but I haven't tested it yet).
I just tried this, and yes, it all worked with no changes (Fig 3).
VPython will get sluggish as the number of edges increases
exponentially, plus the globalmatrix dictionary takes longer to build.
Kirby
More information about the Edu-sig
mailing list