游戏界面如下图所示:
游戏的基本设定:
- 敌方共有大中小3款飞机,分为高中低三种速度;
- 子弹的射程并非全屏,而大概是屏幕长度的80%;
- 消灭小飞机需要1发子弹,中飞机需要8发,大飞机需要20发子弹;
- 每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分;
- 每隔30秒有一个随机的道具补给,分为两种道具,全屏炸弹和双倍子弹;
- 全屏炸弹最多只能存放3枚,双倍子弹可以维持18秒钟的效果;
- 游戏将根据分数来逐步提高难度,难度的提高表现为飞机数量的增多以及速度的加快。
另外还对游戏做了一些改进,比如为中飞机和大飞机增加了血槽的显示,这样玩家可以直观地知道敌机快被消灭了没有;我方有三次机会,每次被敌人消灭,新诞生的飞机会有3秒钟的安全期;游戏结束后会显示历史最高分数。
这个游戏加上基本的注释代码量在800行左右,代码看上去比较多,多打代码少动脑。所以大家不要怕,越是多的代码,逻辑就越容易看得清楚,就越好学习。好,那让我们从无到有,从简单到复杂来一起打造这个游戏吧!
首先创建一个myplane. py模块来定义我方飞机:
既然英雄已经有了,那现在就是需要创造敌人的时候。敌机分为小、中、大三个尺寸,它们的速度依次是快、中、慢,在游戏界面的上方位置创造位置随机的敌机,可以让它们不在同一排出现。将敌机的定义写在enemy. py模块中:
现在的情况是我方飞机处于落后挨打的状态,敌强我弱,所以应该拿起武器进行反击! 接下来定义子弹,子弹分为两种: 一种是普通子弹一次只发射一颗; 另一种是补给发放的超级子弹一次可以发射两颗。
我们将子弹定义为独立的模块bullet.py:
游戏设计每30秒随机发放一个补给包,可 能是超级子弹,也可能是全屏炸弹。补给包有自己的图像和运动轨迹,定义一个模块supply.py:
所有的模块都到齐了,接下来就该实现我们的主模块:
切记: 所有的模块应该放在同一个文件夹下
最后运行我们的主模块就大功告成了!
下面是运行结果:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/81568.html