大四学长教你利用Python写一款超级玛丽!零基础也会!超级装逼!
程序员文章站
2023-11-03 15:52:52
1.游戏的入口 作者的功力还是蛮深的,整个代码的框架很清晰。看一下它的启动函数: 第一个from 引入了setup和tools, 主要是把一些初始化的工作在setup里面全部做完,读取一些配置文件和图片,声音到内存里面。 第二个from 主要显示主菜单和主界面。 第三个from主要是引入了一些常量的 ......
1.游戏的入口
作者的功力还是蛮深的,整个代码的框架很清晰。看一下它的启动函数:
- 第一个from 引入了setup和tools, 主要是把一些初始化的工作在setup里面全部做完,读取一些配置文件和图片,声音到内存里面。
- 第二个from 主要显示主菜单和主界面。
- 第三个from主要是引入了一些常量的配置,比如颜色红色,黑色,白色,超级玛丽,蘑菇,砖块,硬币的一些状态常量。
- run_it 是整个游戏的核心类,是用来做整个游戏的控制中心。
- 作者设计了一个状态机,里面设计了5个主要的场景:主菜单,主界面,超时的界面,游戏结束的节目还有循环运行的界面
- 最后运行run_it.main(),调用控制类里面的一个死循环函数,不断监听外部的event,来更新画布,整个的背景其实是循环的。
2.游戏的框架
整个游戏分resource和data两个部分:
- resource部分主要是存放一些字体啊,图片啊,音乐和声音。
- data部分主要分组件compents和逻辑处理control部分,这里的逻辑处理部分,作者非常巧妙的用状态机来设计。
整个游戏我玩了几把还是很不错的,画片还是蛮漂亮的,操作也很流畅,尤其是超级玛丽在空中腾飞的姿势还是很帅的,刷刷刷的顶到云上!
目前只能支持一个玩家玩,当然唯一美中不足的是这款游戏仅在Py2.x上流畅运行。大家可以去下载一下源码,玩一玩然后读一读源码,源码写的非常通熟易懂,结构很清晰,学习一下高手是如何写代码的,相信对大家的功力增长大有裨益。
进群:125240963 即可获取源码和数十套PDF哦!