這個遊戲也叫康威生命遊戲、細胞自動機、元胞自動機,是一個二維矩陣世界的零玩家遊戲。在遊戲的進行中,雜亂無序的細胞會逐漸演化出各種精緻、有形的結構;這些結構往往有很好的對稱性,而且每一代都在變化形狀。一些形狀已經鎖定,不會逐代變化。有時,一些已經成形的結構會因為一些無序細胞的「入侵」而被破壞。但是形狀和秩序經常能從雜亂中產生出來。
生命遊戲被許多電腦程式實現了。Unix 世界中的許多 Hacker 喜歡玩這個遊戲,他們用字符代表一個細胞,在一個計算機屏幕上進行演化。著名的GNUEmacs 編輯器中就包括這樣一個小遊戲。
本例始作於五一假期,在家吃著西瓜,突然在 B 站刷到這個話題,印象深刻,後面就抽空寫了這個 DEMO ,寫完發現 LeetCode 也有這個,就當是刷了個題,然此處實現有可視化界面展示,應該會比直接做原題更形象有趣罷。歡迎嘗試。
0x03 遊戲規則
每個細胞有兩種狀態:存活或者死亡
每個細胞只與以其自身為中心的細胞互動
當細胞為死亡狀態
若周圍有3個存活細胞,則該細胞變成存活狀態(模擬繁殖)
當細胞為存活狀態
若周圍有2個或3個存活細胞保持原樣
若周圍有3個以上存活細胞,該細胞變成死亡(模擬極度擁擠)
若周圍有低於2個以下存活細胞,該細胞死亡(模擬人口稀疏)
查看完遊戲規則後,滑到屏幕最下方
點擊 閱讀原文 進入遊戲
進到遊戲頁面 先點擊 棋盤 設置 細胞初始圖案,然後 開始,然後 結束。
(黑格子為存活細胞,白格子為死亡細胞)
0x04 圖案預覽
脈衝星:
它周期為3,看起來像一顆爆發的星星
滑翔者:
每4個回合它會沿著右下方移動一格
輕量級飛船:
它周期為4,每兩個回合向右走一格
滑翔者槍:
它會不斷的產生一個又一個 滑翔者
繁殖者:
它會向右進行,留下一個接一個的 滑翔者槍
0x05 哈嘍,Test 泰斯特!
最後,DEMO 基於 Cocos Creator 使用 JavaScript 代碼開發,對代碼感興趣的盆友也可以找我要源碼,再露臉一波剛通過備案的域名:
HackTrek.com