2018年6月22日 星期五

Conway's Game of Life



今年 Ruby Kaigi 看到 Matz 參加 live pair 做 Conway's Game of Life,才發現我常常聽到這個詞但從來沒去研究這到底是啥、為何這麼多人都知道

所以去查了一下,原來是一個模擬細胞生存的遊戲,吸引人的點在於這個遊戲可以有很多變體,甚至初始化細胞的方式不同就可以讓 "生命" 發展有很大的不同,有點像是扮演上帝的角色,而且規則明確,是一個很容易用程式實作的遊戲,難怪那麼有名

想要體驗一下可以到 http://nealwang.net/JustForFun/GameOfLife.html ,先把下面的格子一部分勾選成紅色的,記得要有三個連在一起的紅色,這樣比較好玩


規則:


  1. 當前細胞為存活狀態時,當周圍低於2個(不包含2個)存活細胞時, 該細胞變成死亡狀態。(模擬生命數量稀少)
  2. 當前細胞為存活狀態時,當周圍有2個或3個存活細胞時, 該細胞保持原樣。
  3. 當前細胞為存活狀態時,當周圍有3個以上的存活細胞時,該細胞變成死亡狀態。(模擬生命數量過多)
  4. 當前細胞為死亡狀態時,當周圍有3個存活細胞時,該細胞變成存活狀態。 (模擬繁殖)

  1. live < 2, die
  2. live 2/3, live
  3. live with >3, die
  4. dead with == 3, spawn


覺得挺有趣的,用 Ruby 簡單實現了一下:

https://github.com/wayne5540/conways_game_of_life


https://zh.wikipedia.org/wiki/%E5%BA%B7%E5%A8%81%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F
https://www.youtube.com/watch?v=zEf6iUIkjf4

沒有留言:

張貼留言