python做一个小游戏_利用python做个小游戏

从本期开始,我们将利用几天的时间用python来做个小游戏,当然,在做小游戏之前,我们必须学会一个做小游戏的第三方库——pygame。可能有人会说,python不擅长或者说不适合用来做游戏,的确是这样,但是我们可以通过以做游戏的方式来巩固我们学过的知识,何乐而不为呢?废话不多说,开始干起来。pygame的安装如果你之前在安装python的时候,把环境变量等等都配置好了,那么安装pygame是很容易的事,只要打开cmd输入pip install pygame即可

640

当看到Successfully installed xxx 的字样即说明已经成功安装。另外说一句,如果想要查看自己安装的所有库,则使用pip list;如果想要卸载某库,则使用pip uninstall xxx;如果想要更新某库,则使用pip install --upgrade xxx。进击的小球我将和大家一起来制作一款小游戏,从而一步一步了解pygame的用法。这款游戏实现起来非常简单,没有''超级玛丽''那么复杂,因为所有的素材我们自己都可以做,我把这款游戏命名为''进击的小球'',效果如下:因为动图太大上传不了,所以我只能录制两个了

640

640

玩法:通过键盘的↑键来控制小球往上走,当松开↑键时,小球以一定速度向下掉,小球每越过一根棒加1000分,越过一个飞镖加2000分,当小球碰到棒或者飞镖时,生命减一,同时还设置了暂停键,开始键,本局分数和历史最高分。实现过程黑色背景和游戏名背景颜色为黑色,游戏名为''进击的小球''。代码示例

640

运行以上程序,就可以看到名为''进击的小球''的黑色窗口。主角登场下面我们把主角,就是那个绿色的小球给请出来。首先我们需要一张小球的图片,我把所有的图片都放在了images文件下,并且将小球图片命名为ball导入图片

我们首先看看将它显示在(0,0),也就是左上角的位置的代码。

也就是说,以左上角为原点,越往右下,坐标就越大,注意这里的坐标对应的是图片的左上角。但是我们不希望小球一开始出现在左上角,我们希望它出现在顶部的中间位置,小球不仅有位置,还有上升和下落的速度等等,考虑到这一点,我们要定义一个Ball类。

640

这里我简单说一下为什么要继承pygame.sprite.Sprite,因为这是一个可见游戏对象的基类,以后可能会用到的碰撞检测等等都需要用到这个类的一些方法,不仅仅是球类,以后的棒类等等也要继承它。然后把小球渲染到屏幕上(注意一定要先填充屏幕,再显示小球,要不小球会被覆盖)

这样,我们就得到了一个位置在顶部中间的小球。但是,小球总不能呆在顶部中间吧?要不然我们定义的上升速度和下降速度也就没有意义了,所以我们要给小球添加方法,分别是上升和下降。实现的方法很简单,我们的游戏是小球在屏幕中间上下移动,也就是说小球左边的位置不变,顶部的位置发生变化即可,所以当小球上升时,顶部位置的坐标减小,下降时,顶部位置的坐标增大。所以上升和下降的方法可以写为:

640

方法已经写好,下面我们来写控制部分的代码,我们的思路是这样的,当按下↑键时,小球上升,当松开时,小球下降。因为这是一个不断刷新的过程,我们要写在while循环中。

640

来看一下效果

640

小球的速度稍微快了一点,看起来不太连贯,因为每秒的帧数太高,如果直接改小小球的速度,后面的棒和飞镖我又怕躲不过,经过多次尝试,我发现比较好的方法是调低每秒的帧数。

640

效果

640

最后附上本节完整代码

640

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值