本文内容是使用pygame包来开发一款python2D游戏,类似于我们小时候玩的飞机大战,飞船发射子弹biubiubiu~~然后外星人就消灭了,并且每消灭一群外星人后,玩家都将提高一个等级,随着等级提高游戏节奏也会加快。
下面是本文的结构:
- 规划项目
- 安装pygame
- 飞船与外星人的创建
- 外星人与飞船的战争
- 添加记分牌
详细代码可见我的github,以下内容只是大致介绍,篇幅有限只放了部分,细节之处可以阅读书籍《Python编程:从入门到实践》,本文是基于这本书的项目实践章节12-14所写得。
qinliu0901/python1 规划项目
在做一件事情之前,我们都会先想要为什么做,做什么,怎么做,写一个小游戏也是一样,规划好再动手写项目很重要,弄明白游戏预期要实现什么功能,然后针对这些功能去找到解决方法,then let's start.
在外星人入侵中,我们要实现的功能有:
- 飞船可以左右移动,并用空格键射击;
- 外星人群从左移动到屏幕右端然后下移一定距离,接着往反方向移动;
- 飞船射杀外星人,也就是子弹与外星人碰撞时,子弹与外星人消失,外星人消灭完后又新创建一群;
- 当外星人撞到飞船,玩家就损失一艘飞船,满3次游戏结束;
- 记录得分,最高得分,等级,余下的飞船数。
2 安装pygame
Pygame项目托管在代码分享网站Bitbucket中,访问https://bitbucket.org/pygame/pygame/downloads/可下载相应的pygame包,再使用pip在命令行里安装。
3 飞船与外星人的创建
3.1 主循环的构建
创建一个空的pygame窗口,游戏的基本结构如下:
alien_invasion.py