1.游戏的入口
作者的功力还是蛮深的,整个代码的框架很清晰。看一下它的启动函数:
第一个from 引入了setup和tools, 主要是把一些初始化的工作在setup里面全部做完,读取一些配置文件和图片,声音到内存里面。
第二个from 主要显示主菜单和主界面。
第三个from主要是引入了一些常量的配置,比如颜色红色,黑色,白色,超级玛丽,蘑菇,砖块,硬币的一些状态常量。
run_it 是整个游戏的核心类,是用来做整个游戏的控制中心。
作者设计了一个状态机,里面设计了5个主要的场景:主菜单,主界面,超时的界面,游戏结束的节目还有循环运行的界面
最后运行run_it.main(),调用控制类里面的一个死循环函数,不断监听外部的event,来更新画布,整个的背景其实是循环的。
在这里还是要推荐下我自己建的Python开发学习群:725479218和龚总好「CoXie带你学编程」(id:Pythoni521),都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴
2.游戏的框架
整个游戏分resource和data两个部分:
resource部分主要是存放一些字体啊,图片啊,音乐和声音。
data部分主要分组件compents和逻辑处理control部分,这里的逻辑处理部分,作者非常巧妙的用状态机来设计。
整个游戏我玩了几把还是很不错的,画片还是蛮漂亮的,操作也很流畅,尤其是超级玛丽在空中腾飞的姿势还是很帅的,刷刷刷的顶到云上!
目前只能支持一个玩家玩,当然唯一美中不足的是这款游戏仅在Py2.x上流畅运行。大家可以去下载一下源码,玩一玩然后读一读源码,源码写的非常通熟易懂,结构很清晰,学习一下高手是如何写代码的,相信对大家的功力增长大有裨益。