大家今天咱来聊聊用Python捣鼓小游戏的事儿。作为一个Python老鸟,之前也零零散散的做过不少小东西,但是一直没个整理,这回心血来潮,准备把自己折腾的那些小游戏都从头到尾好好梳理一遍,也算是个记录,以后查起来也方便。
初识pygame
我也就是拿Python写点儿小脚本,处理个表格啥的。后来总觉得不过瘾,就琢磨着能不能用它做点儿更有意思的东西。然后,我就发现pygame这个好东西,简直是打开新世界的大门!
安装pygame特别简单,直接在命令行里输入 pip install pygame
就完事儿。安装好后,我就迫不及待地想试试手。
第一个小游戏: 简易飞机大战
我相信不少人都玩过飞机大战,所以我就想用python把它给做出来,看看能不能重温经典。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
我记得实现这个游戏,需要先搞个窗口出来,然后再把咱的飞机画上去,还得能控制它上下左右移动。这还不算完,还得有敌机,敌机得能自动往下飞,咱的飞机得能发射子弹,子弹打中敌机,敌机得爆炸,还得有分数显示……想想都觉得挺复杂的。
我就上网搜搜资料,发现pygame里画图、处理键盘事件啥的,都有现成的函数可以用。我就照葫芦画瓢,一步一步地把这些功能给拼凑起来。
- 创建游戏窗口: 这块我用的是
*_mode()
,设置个窗口大小。 - 加载图像: 包括咱的飞机、敌机、子弹、背景图片等等,都先用加载进来。
- 控制飞机: 我这块用的是,获取键盘的上下左右按键,然后通过控制飞机的坐标来实现飞机的移动。
- 子弹的发射: 我是通过按下空格键然后来控制子弹的发射,并且修改子弹的y轴坐标来实现向上飞的效果。
- 碰撞检测: 这块我用循环,挨个判断子弹和敌机有没有碰上,碰上就都消失,并且更新分数。
具体实现代码如下:
这期间,我遇到各种各样的问题,比如飞机动不、子弹打不中、敌机不会飞……
前前后后,我大概花一周的时间,才把这个简易版的飞机大战给搞定,看着自己做出来的小游戏,还是挺有成就感的!
今天就分享到这里,后面我会陆续分享更多我做过的小游戏源码,也欢迎大家一起来交流,一起学习进步!