明确主程序职责
- 回顾快速入门案例,一个游戏的主程序的职责可以分为两个部分:游戏初始化和游戏循环
- 根据明确的职责,设计
PlaneGame
类如下:PlaneGame
实现飞机大战主游戏类
明确文件职责
![](https://i-blog.csdnimg.cn/blog_migrate/ed74cadba67f383784c15399ddae6ac2.png)
文件职责
plane_main
- 封装主游戏类
- 创建游戏对象
- 启动游戏
pane_sprites
- 封装游戏中所有需要使用的精灵子类
- 提供游戏的相关工具
代码实现:
- 新建
plane_main.py
文件,并且设置为可执行 - 编写基础代码
使用常量代替固定的数值
- 常量——不可变化的量
- 变量——可以变化的量应用场景:在开发时,可能会需要使用固定的数值,例如屏幕的高度是700,这个时候建议不要直接使用固定数值,而应该使用常量,在开发时为了保证代码发可维护性,尽量不要使用魔法数字
常量的定义:
- 定义常量和定义变量的语法完全一样,都是使用赋值语句
- 常量的命名应该所有字母都使用大写,单词与单词之间使用下划线连接
常量的好处:
- 阅读代码时,通过常量名见名知意,不需要猜测数字的含义
- 如果需要调整值,只需要修改常量定义就可以实现统一修改
提示:python中并没有真正意义的常量,只是通过命名的约定——所有字母都是大写的就是常量,开发时不要轻易的修改
搭建框架
导入模块
定义常量
PlaneGame类与初始化
start_game
__create_sprities
__event_handler
__check_collide
__update_sprites
测试代码
总体框架
![](https://i-blog.csdnimg.cn/blog_migrate/075da69eefab20e729462e09c14ec11f.png)
导入模块
![](https://i-blog.csdnimg.cn/blog_migrate/82108d0e5c693e6d07f43523300b8119.png)
定义常量
![](https://i-blog.csdnimg.cn/blog_migrate/18d1a11f6c705b487efab257e4999a06.png)
PlaneGame类与初始化
![](https://i-blog.csdnimg.cn/blog_migrate/918a708d9d3d4f212a1b7778db3bae02.png)
start_game
![](https://i-blog.csdnimg.cn/blog_migrate/10f80d7d4670afde092213485e04a27b.png)
__create_sprities
![](https://i-blog.csdnimg.cn/blog_migrate/c839d430c025c52b9dfdedf65ebad837.png)
__event_handler
![](https://i-blog.csdnimg.cn/blog_migrate/a0b1237a67524694033c2d736285c21b.png)
__check_collide
![](https://i-blog.csdnimg.cn/blog_migrate/6ea0ba9ecf51f17aae5df75c835cd3ef.png)
__update_sprites
![](https://i-blog.csdnimg.cn/blog_migrate/613cb7c2d590289bf0663842fa4dbddf.png)
测试代码
![](https://i-blog.csdnimg.cn/blog_migrate/e07169e4c2664d62749c039a22f3ee00.png)
总体框架
2020.8.27