澄迈数码科技网

Hi, 请登录

flipcontrolcenter

用python可以编写一款游戏模拟器么?

操作系统:Win10,语言版本:python3.7,IDE:VSCode,需要引入的模块:PIL(用于图像的处理),pymouse(用于控制鼠标点击),numpy(用于构造数字矩阵),win32gui(用于切换游戏窗口)。模块的安装很简单,直接在命令行里用“pip install 模块名”就可以了,需要注意的是PIL只支持到python2.7,python3+用“pip install pillow”安装。之所以选择VSCode作为开发工具,是因为它比jupyter notebook更强大,比PyCharm更轻量,保准你用过之后就会爱上它。

python 项目:DIY 街机游戏

这个练习是一个小游戏程序,如果要是给它起个名字的话,应该叫:快躲,香蕉。 主要的游戏内容就是,游戏开始会从屏幕上方不断随便的掉一些铁块,在屏幕下 方有一个小香蕉是受你控制的,你需要不断的左右移动来躲避铁块。在你躲避完 一定数量的铁块之后,就会进入下一关。下一关依然是让你躲铁块,不过铁块下 降的速度就快了很多。在游戏中你可以按下任意键暂停,再次按则继续,按下 ESC 键退出。这就是全部的功能了,下面我们来看游戏的实现。

flipcontrolcenter
(图片来源网络,侵删)

首先对所有代码分类:

1、整体上代码有一个配置模块,来对游戏的速度、屏幕 的宽度、香蕉移动速度、字体大小、各个物体的图片等进行配置。

2、然后是有 一个元素模块,即游戏中的两个元素落下来的铁块以及被砸的香蕉,其中还要包 含他们具有的行为。

flipcontrolcenter
(图片来源网络,侵删)

3、然后还有游戏中的各种状态模块,状态模块中的类继承 关系稍微多一些,处于家谱最上方的就是 state 类,由它来衍生其他的所有状态, 它的直接子类是 Level 和 Pause,其中 Pause 有衍生出子类 Info、levelCleared、 GameOver、StartUp。

4、最后就是游戏的主模块,用来让其他模块协调工作 的。

然后再来看一个整体图:

flipcontrolcenter
(图片来源网络,侵删)

有了上面整体的认识,下面就要细揪一下了。我自己看代码的方法是这样的,首先整体分析,然后在从程序的入口点开始分析。我估计大多数人也是这么做的。

相关推荐