一個與生命有關的遊戲,能讓你看一輩子


圖片來自wiki

生命遊戲(Game of Life)是英國數學家約翰·何頓·康威在1970年發明的細胞自動機,它也是一款“零玩家”遊戲,即遊戲的演化完全由初始狀態決定,不需要後續信息輸入。

生命遊戲在形式上一般是由方格組成的二維矩形,每個方格中有一個細胞,而細胞在下一刻的狀態由周圍八個方格中細胞的狀態來決定。周圍活着的細胞太多或太少,方格中的細胞都會因為資源缺乏或太寂寞而死掉,就像現實中的生命一樣。玩家可以給個初始值後,靜靜地看着矩形中的生命誕生或消亡,期間還會出現一些有趣的幾何圖案,是個打發時間的不二選擇。


圖片來自wiki

生命遊戲可以在電腦上用多種語言實現了,這裏就有一個Python的例子。不過在上週硬創邦的創客馬拉松上,有一支團隊想把這個經典遊戲和零件櫃結合起來。

Atommann參加過多次創馬了,在哈工大站和朋友一起做了個海龜機器人,捧走了第一名。這次他又聚集了幾個朋友,想做個12 X 12的方形零件櫃,裝電阻電容一類的小器件;然後在每個小盒中放入LED燈,把二維矩形具現化,用於演示生命遊戲,這樣還能讓它變身一件藝術器。

作品思路不復雜,那最終效果如何呢?小編還是直接劇透吧。

其實這次創馬Atommann他們沒能在最終展示前完成作品,也沒能拿到名次。他告訴硬創邦,其實技術上難度不大,比上次的海龜機器人還要小一些,“主要是這次的重複工作(如焊接)太多,導致沒有足夠的時間寫代碼”。所有的LED都可以亮的,但生命遊戲還是無法演示。

一件意料外的事是,程序員跑了,準確地説是,程序員有重要的事必須離開。而編程又不是Atommann擅長的領域,所以沒能趕上。他“本想換一個方案,但又想挑戰自己,看能不能在限定的時間內把東西焊好”,也是糾結,但東西焊好了,也沒多少時間寫代碼了。看來碼農真的很重要,請善待他們。

雖然有點遺憾,但Atommann還是在創馬結束後完成了這個項目,效果見這裏


最開始見到這個項目的時候,小編想到了另一個視頻。內容是國外黑客入侵了一座大樓的電力系統,然後開關各房間的燈來玩坦克大戰。視頻如下:

所以小編問Atommann是不是可以用零件櫃玩俄羅斯方塊這樣的遊戲(坦克大戰的話,12 X 12估計不夠),他説這肯定要實現的,最近還在抽時間繼續完成這個項目。

關於為什麼會想到做生命遊戲,Atommann講得也很有趣,以至於小編想偷懶原原本本呈現:

引用大概在 2000 年左右,我上中專的時候在書店買到兩本書,書名是 《數學遊戲》(上下),是《科學美國人》的《數學遊戲》專欄上一些文章的集結本,我幾年前寫過一個書評,見“能帶給人思考和娛樂的數學書”。

書裏有很多數學娛樂和編程問題,當時學校也教編程,主要是BASIC語言,於是我就在上機的時候嘗試書裏的例子,發現這些程序非常有趣。為了節省上機的時間和費用,我在去學校機房上機前,一般先到公園裏把程序寫在紙上,到了上機時間再把程序錄入電腦進行調試。

其中我最感興趣的程序就是生命遊戲,細胞自動機程序和一些分形程序。2001年畢業工作後我都還在玩這些程序。


程序生成的圖形之一

引用現在還很懷念以前那些在電腦上改參數生成不同的圖形的日子 :)


程序生成的蟲子圖

引用《數學遊戲》中文版中,每篇文章都沒有寫出作者的名字。這不方便讓人搜索文章來源。直到後來,我才明白,有些文章是數學娛樂大師 Martin Gardner 寫的;有些文章是奇書《哥德爾、埃舍爾、巴赫:集異璧之大成》的作者 Douglas Hofstadter 寫的;還有一些文章是加拿大數學家 Alexander Dewdney 寫的。後來我還託人從美國買了 Dewdney 的三本書。

我中專專業是機械製造,後來通過自學進入了電子行業。我也非常喜歡 DIY和相應的文化,很多東西都想自己親自動手做一遍。在電子製作過程中,發現浪費很多時間在找零件上。而且電子零件的種類十分繁多,比如 5% 精度的電阻就有 168 種之多。如果在做一個東西的時候,發現手上少了一個零件,比如電阻,然後到處翻箱倒櫃去找,這是讓人無法忍受的。因此,在2012年就萌生了做零件櫃的想法。我們當時討論了很多有趣的方案,其中一個就是把 LED 燈條加到現有的零件櫃上,用語音識別,定位所需要的零件。

應該是在今年,我想到這個項目還沒有完成,突然想到可以在零件櫃的每個格子裏安裝一個LED,這樣就可以把零件櫃做成一個藝術裝置,把康威的生命遊戲也集成進去。想法就這樣產生了,只是把不同的東西組合在一起,就是一個新的作品。

看到這段經歷,小編只想説:3年前的想法現在才做,這坑填得夠慢呀!

Atommann也表示,“如果不報名參加創客馬拉松,這個能運行生命遊戲的,漂亮的,獨一無二的零件櫃還是停留在我們的腦海裏,而不是擺在SZDIY裏。”

所以,有什麼想法就來參加硬創邦的創客馬拉松吧(此處為硬廣)!

關注硬創邦微信號(leiphone_bang),加入全球創客馬拉松主羣(羣號:259592983),參與我們的互動討論,獲得最新比賽信息~



資料來源:雷鋒網
作者/編輯:張馳

如果喜歡我們的文章,請即分享到︰