我们的贪吃蛇游戏基本功能已经实现,可以完成吃食物,吃到食物变长,得分增加,食物再次随机出现。

但是我们有发现贪吃蛇可以穿到屏幕外面去,这显然是不合适的。

这一次我们需要完善的是:

  • 游戏结束
  • 游戏结束后重新开始
  • 背景音乐和音效

游戏结束

我们设置一个布尔值变量dead,如果dead为True,则游戏结束,开始布尔值变量dead的值位False。

dead 

边界检测:

# 边界检测

满足任何一个条件,都需要将dead设为True。

碰到自己:

如果蛇足够长的话,在移动过程中,出现蛇的头和身体发生碰撞,游戏结束。

# 撞到自己

遍历列表中的位置坐标和蛇的头的位置坐标,进行判断,只要出现一个碰撞,则变量dead就为True,其余的也就不再进行遍历,使用break可以直接跳出。

游戏结束:

使用if语句判断,当dead变量为True的时候,游戏结束,蛇的头不再运动,我们将速度speed变量修改为0。

if 

增加一段文本显示,记录玩家的得分战绩,提示玩家按下空格键重启游戏。

if 

游戏结束后重新开始:

当我们按下空格键的时候,重新开启游戏。

elif 

添加了一个条件,只有在dead为True的时候,才可以按下空格键重启游戏。

背景音乐和音效:

注意:音乐和音效文件要和“.py”文件放到同一个目录中。

# 背景音乐

这里不再详细讲解,具体可以参考“Pong游戏”。

暂停背景音乐:

当游戏结束的时候,背景音乐需要暂停播放。

if 

重启背景音乐:

当按下空格键的时候,游戏重启,背景音乐也要重新播放。

elif 

播放音效:

当蛇吃到一个食物的时候,添加一个吃食物的音效。

if 

好了游戏到这里基本完成了,其实还有好多可以完善,大家也可以自己做修改,使其拥有更多的功能。

Python《贪吃蛇》https://www.zhihu.com/video/1244653210180194304

完整代码和音效文件,回复关键字《贪吃蛇》即可获取!


Pygame游戏——贪吃蛇

陪孩子一起学编程:Pygame游戏——贪吃蛇(一)​zhuanlan.zhihu.com

陪孩子一起学编程:Pygame游戏——贪吃蛇(二)​zhuanlan.zhihu.com

陪孩子一起学编程:Pygame游戏——贪吃蛇(三)​zhuanlan.zhihu.com

pygame render怎么显示中文_Pygame游戏——贪吃蛇(完结)相关推荐

  1. pygame render怎么显示中文_PyGame开发游戏(2D)02.基础图元

    这节将介绍PyGame的基础架构.并学习如何在PyGame里绘制各种几何图形和显示加载图片. 01.应用框架 上一节的示例程序里,我们用到一个PyGame的应用程序框架.这是一个基础框架,利用它我们可 ...

  2. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

  3. Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    前言: 文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的. 据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个 ...

  4. Unity3D_(游戏)贪吃蛇

    Unity制作贪吃蛇小游戏 玩家通过"WASD"控制小蛇上下左右移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自 ...

  5. Python小游戏贪吃蛇

    欢迎大家访问我的个人博客:https://jmbaozi.top/ 我之前看到即友的一个结课作业,用python做了一个迷宫游戏,在这里放一下链接,感兴趣的可以去看看.当时我也想做一个,但是看了看源码 ...

  6. Python制作游戏 — 贪吃蛇

    哈喽,我是小圆.我又来分享关于python制作的小游戏啦. 今天这个可是当年真正意义上的第一款手机游戏 - 贪吃蛇. ok,现在来讲解一下用python做这个游戏的所有步骤,超详解说 ! 据说是贪吃蛇 ...

  7. 【python小游戏】用python写一款小游戏--贪吃蛇

    大家好,我是爱吃饼干的小白鼠,今天给大家分享一款自制小游戏.如何用python编写贪吃蛇. 今天,突发奇想的想用python写一款小游戏--贪吃蛇.相信大家都玩过,那么玩一款自己写的是一种什么样的体验 ...

  8. 游戏贪吃蛇(c语言)

    游戏贪吃蛇(c语言) 一.项目背景 二.设计目的 三.项目功能需求 1.初始化游戏 2.控制蛇的运行轨迹 3.控制蛇的长度 4.控制食物生成 5.计算分数 6.结束条件 四.系统的功能结构图 五.总体 ...

  9. JAVA课程设计(小游戏贪吃蛇)完整源码附素材(二)

    目录 JAVA课程设计(小游戏贪吃蛇)完整源码附素材(一) JAVA课程设计(小游戏贪吃蛇)完整源码附素材(二) JAVA课程设计(小游戏贪吃蛇)完整源码附素材(三) 前言 1. 任务描述 1.1  ...

最新文章

  1. easyui-menu 解决disableItem不能禁用绑定事件的方法
  2. 第十六章--访问文件
  3. 自制一个 简易jQuery 的 API
  4. 新博客地址: https://sanzo.top
  5. Andorid之BINDSERVICE的使用方法总结
  6. java8新特性(7)— Base64
  7. jquery-滚轮事件与函数节流-案例整屏滚动 -等待整理
  8. kaggle房价预测特征意思_Kaggle之预测房价
  9. 一旦有辞职念头就干不长了吗_辞职后,社保该不该管,是否影响养老金?需不需本人去社保局注销...
  10. html+css做的丝带标签
  11. oracle中的rownum
  12. 通过刷bios的方式在win8.1平板上启动windows phone模拟器
  13. 红标devcpp6.3编译器下载及配置教程
  14. 英伟达驱动怎么设置显示帧数?
  15. 使用python给微信推送信息(一)
  16. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之 Model Confidence v2
  17. Win10 Windows Defender 保护历史记录清空方法
  18. Linux下安装安装redis
  19. C语言:L1-059 敲笨钟 (20 分)
  20. 2020年12月1日 misc wp

热门文章

  1. Python 面向对象编程
  2. std::make_unique<T>和std::make_shared<T>
  3. Linux字符设备驱动实例
  4. 存储对手机性能的影响
  5. pthread 的坑
  6. dynmic_debug动态控制kernel下的日志输出
  7. 初步使用计算机说课,初步认识计算机说课稿
  8. 千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...
  9. 安卓 camera 调用流程_安卓如何做出微信那样的界面仿微信“我”的界面1/5
  10. 【Pytorch神经网络理论篇】 18 循环神经网络结构:LSTM结构+双向RNN结构