這篇文章提供一Python範例程式來實現Conway的生命遊戲,並使用Pygame套件實現出動畫效果。
在1970年,英國數學家約翰·康威(John Conway)創造了他的“生命遊戲”。
這是一組規則,在一殖民地裡模仿生物有機體的混亂和生長及死亡。
在“遊戲”裡由“活的”和“死的”細胞單元組成,並將演變呈現在網格上。
從這一代過到下一代的規則如下:
在網格上以該細胞為中心計算其八個相鄰的細胞,
1.假設人口過剩:如果該"活細胞"被三個以上的活細胞包圍,它就會死亡。
2.停滯:如果活細胞被兩個或三個活細胞包圍,它可以繼續存活。
3.如果人口過少:如果活細胞被少於兩個活細胞包圍,它也會死亡。
4.繁殖:如果死細胞被正好三個細胞包圍,它將變成活細胞。
在程式裡我們設定0為死細胞,1為活細胞,利用Numpy及Pygame做成演變動畫
透過一直循環執行這些規則,可以出現美麗和意想不到的圖案,
有些已死的區域或是長時間不再變化的區域,經由更長的時間演變
因外來的細胞將再重新活耀起來。這遊戲迷人的地方在於它不完全是
由隨機亂數產生,他有上述的幾個規則存在,但是結果又是那麼不可預期,
好像是真的生命細胞在自己演化一般,然而實質上這只是一段程式代碼。
<圖一>隨機產生的細胞自由演化