python 上下移动飞船_利用Python抵御外星人的入侵(Python小游戏),零基础也能写!...

88871604b5c6e79f727642f8a45a3fdd.png

导语

写了个低配版的外星人入侵小游戏来作为19年的第一更吧让我们愉快地开始吧

开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

先睹为快

在cmd窗口运行"Game13.py"文件即可。

效果如下:

59c8b899cb9cdf93c26a42ed3ca25627.png
5781fb549db956c7a22e143f8cc00688.png

原理简介

游戏简介:

玩家通过鼠标控制飞船行动和射击,若能在敌人到达游戏界面底端之前消灭所有敌人,则游戏胜利,否则游戏失败。

逐步实现:

Step1:定义游戏精灵类

首先,我们来明确一下游戏需要哪些角色。

① 我方飞船

我方飞船通过鼠标控制,其需要具备射击、移动和被敌人击中后爆炸等能力。

因此,该游戏精灵类的代码实现如下:

ecb2a22509a34b6a07fca1e4b5da65c6.png

② 敌人

敌人由电脑自动控制,其需要具备射击、移动和被我方击中后爆炸等能力。

因此,该游戏精灵类的代码实现如下:

32379e6623a9b47a1511645a6752381d.png

③ UFO

UFO由电脑控制,可以看作是彩蛋,击中这个彩蛋,你将获得大量的奖励分数,当奖励分数累积到一定量时,你将获得额外的生命值奖励。

UFO类只需要具备移动和被我方击中后爆炸的能力即可。

因此,该游戏精灵类的代码实现如下:

6ce81dd4eb501d5164a536ded50b3601.png

④ 子弹类

我方飞船和敌人射击时都需要用到子弹,其应当具备不断向前移动的能力。

我方子弹类的代码实现如下:

d88c6869dc68cc7c04e8839f81935908.png

敌方子弹类的代码实现如下:

0083389e8ae2a7c29887c50b80f2a211.png

Step2:实现游戏主循环

先初始化,包括加载必要的游戏素材和实例化之前定义的游戏精灵类等等:

282318de19ed68f2eb052a941224e50d.png

然后就可以进入游戏主循环啦~

首先是按键检测,来实现用户与游戏的交互:

c569ab3de83b39276eb9f11a43670f21.png

接下来就是根据用户操作的结果以及电脑自动进行的操作获得的结果来实现游戏画面更新。当然,更新之前需要根据游戏规则对一些游戏精灵进行碰撞检测,包括:敌方子弹和我方飞船以及我方子弹和敌方等。

具体的代码实现如下:

5664ef23f3faaa430f51a7b679051d8e.png

最后就是把一些游戏相关的数据实时显示在游戏界面上以供玩家参考:

2746c0605635cc2fbbf768ba473dab36.png

Step3:定义游戏结束界面

我们只需要根据玩家是否取得了游戏胜利来展示游戏结束界面即可:

1563351481b6208d04d9c23c469992ab.png

分享到这里,你可以去试一试,更多python学习可以关注我们哦

aff9d7baaeef0290206109286522573e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值