折腾来折腾去

pikipity的blog

用 Pygame 编写的生命游戏

之前用 Matlab 编写了一个生命游戏,但是效率实在太低了,只要矩阵稍微大一点,我的小 MacBook Pro 就跑不动了,恰巧最近正在跟随 “eyeHere” 这样一个网站学习 PygamePygame 是一个将 Python 语言和 SDL 结合的 Python 库。SDL 是一个跨平台开源的多媒体库,源代码用 C 语言写成,一般用于游戏、模拟器和多媒体播放器的开发,顺带一提,Linux 上很多游戏都是用 SDL 开发的,当年玩的《韦诺之战》也使用它开发的,还有当年红极一时的《虚拟竞技场》系列的 Linux 版本等等。

Pygame 可以直接在官网上下载到,无论是 Windows 版还是 Mac OS X 版都已经打好了包,安装什么的都很方便。

我把我那个用 Matlab 编写的生命游戏,用 Python 重写之后,debug 的时候运行还不是很流畅,但是实际运行的时候,速度超级理想,以至于我最初设定的30的FPS都显得比较大了。用键盘操作,在暂停模式下可以用鼠标添加或是消除细胞,键盘键位如下:

  • b键:开始游戏
  • s键:暂停游戏(可以用鼠标添加或是消除细胞)
  • c键:更改大小(在暂停模式下更改。书写格式为:每行细胞数量,每列细胞数量,回车确定)

有兴趣的可以到我的 Github 去看看,下面是截图:

暂停画面

运行画面

更改大小



Comments