最近老刷到什么“生命游戏”,看着挺有意思,就想自己动手试试看能不能搞一个出来。一开始我是懵的,这啥玩意儿?后来一查,,原来是一个叫康威的英国佬搞出来的东西。
第一步,搭架子
我先用最简单的HTML搭个格子出来。就用<table>
,里面套一堆<td>
,每个<td>
就是一个小格子。这步简单,就是有点烦,得一个个敲。
第二步,让格子“活”起来
- 然后我给每个格子加个点击事件。点一下,格子就变个颜色,表示这个细胞“活”。再点一下,颜色变回去,表示细胞“死”。
- 我还加两个按钮,一个“开始”,一个“重置”。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
第三步,写核心的逻辑
这步是最麻烦的。我得根据康威那老头的规则,判断每个格子下一步是死是活。规则大概是这样的:
- 一个活着的格子,周围有俩或仨活着的邻居,它就继续活着;
- 一个活着的格子,周围活着的邻居太少(少于俩)或者太多(多于仨),它就死;
- 一个死着的格子,周围刚好有仨活着的邻居,它就活。
我写个函数,专门干这事。遍历所有格子,挨个判断,然后更新格子的状态。
第四步,让它自己“动”起来
我用个定时器,每隔一段时间(比如半秒),就调用一次上面那个函数,这样格子们就自己“动”起来,跟真的一样。
第五步,收拾收拾
我把代码整理一下,加点注释,让它看起来没那么乱。还加个功能,可以调整格子的大小,这样就能玩出更多花样。
最终实现
搞完之后,看着那些格子自己在那儿变来变去,还挺有成就感的。虽然规则简单,但有时候能变出挺复杂的图案,跟真的一样,还挺神奇的!这玩意儿,说是游戏,更像个模拟器,模拟生命演化的过程。看着挺有意思,我自己能搁那看半天。