[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
                    nextme = False # ditto

            elif alive_n in [5,6]:
                nextme = False

            if nextme == True:

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.


More information about the Edu-sig mailing list