python贪吃蛇游戏代码详解外加中文_Python贪吃蛇代码

python贪吃蛇游戏代码详解外加中文_Python贪吃蛇代码感觉游戏审核新政实施后,国内手游市场略冷清,是不是各家的新游戏都在排队等审核。媒体们除了之前竞相追捧《PokemonGo》热闹了一把,似乎也听不到什么声音了。直到最近几天,突然听见好几人都提到同一个游戏,网上还有人表示朋友圈被它刷屏了。(不过现在微信已经悍然屏蔽了它的分享)这个游戏就是现在iOS免费榜排名第一的《贪吃蛇大作战》。一个简单到不行的游戏,也不知道怎么就火了。反正一款游戏火了,各路媒体…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

201609070846251.jpg

感觉游戏审核新政实施后,国内手游市场略冷清,是不是各家的新游戏都在排队等审核。媒体们除了之前竞相追捧《Pokemon Go》热闹了一把,似乎也听不到什么声音了。直到最近几天,突然听见好几人都提到同一个游戏,网上还有人表示朋友圈被它刷屏了。(不过现在微信已经悍然屏蔽了它的分享)

这个游戏就是现在iOS免费榜排名第一的《贪吃蛇大作战》。一个简单到不行的游戏,也不知道怎么就火了。反正一款游戏火了,各路媒体、专家总能说出种种套路来,所以我就不发表意见了。不过这实在是一个挺好实现的游戏,于是一时技痒,拿 Python 做了一个实现。

【动图】

201609070846252.gif

demo 花了大约一整天时间,实现了基本效果(没做加速)。代码已上传 GitHub:

使用了 cocos2d-python 作为游戏引擎。如果要运行代码,需要安装 Python 2.7 和 cocos2d 库。

pip install cocos2d

代码实现上的几个难点:

运动方向的控制。键盘上只有上下左右四个键,要转换到 360 度的运动方向,需要用到不少三角函数运算。

蛇身子的处理。这里我用了一个路径列表,记录蛇头经过的位置,身子则根据路径中的对应数据更新位置。

电脑的运动策略。这里我用的方法是,对于在头部范围内的其他蛇身,计算蛇身与蛇头连线的角度,和自身的运动方向进行比较,如果角度相差很小,就意味着会撞上,于是调整当前运动方向。

运行效率。最大的效率瓶颈在于屏幕上的图片绘制。最开始完成的版本,场上蛇身总量达到 300 左右就卡顿严重了。后来用 cocos 的 BatchNode 替代直接添加,大大减少了图片绘制次数,可保证游戏顺畅运行。但如果玩到分钟很高,依然会出现效率问题,暂时没有解决。

平心而论,Python 并不适合做商业游戏,而用来学习或者开发原型倒也是个不错的选择。现在很流行的手机游戏开发引擎 cocos2d-x,最初就是源于 Python 的版本,也就我这次使用的 cocos2d 库。虽然在功能上有一定差距,但引擎结构是非常接近的,包括其中场景和层的概念、动作、事件、刷新等。

只是心血来潮,随手写写,代码没怎么优化,注释也基本没有。大家凑合看看。如果点赞、转发的人多,之后会考虑继续优化,并专门做一个系列教程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169554.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月10日 下午11:16
下一篇 2022年8月10日 下午11:16


相关推荐

  • 数字图像处理(17): 直方图均衡化处理

    数字图像处理(17): 直方图均衡化处理目录 1 直方图均衡化简介 1 1 直方图均衡化概念 1 2 直方图均衡化的理论基础 1 3 直方图均衡化的步骤 1 4 直方图均衡化应用场景 2 直方图均衡化 equalizeHist 3matplotlib pyplot subplot 函数 4matplotlib pyplot imshow 函数 5 直方图均衡化对比参考资料 1 直方图均衡

    2026年3月26日
    3
  • php一键安装的环境包,php环境搭建的一键安装包有哪些?

    php一键安装的环境包,php环境搭建的一键安装包有哪些?php 环境搭建的一键安装包有 1 XAMPP 是一款功能强大的一键安装环境 2 PhpStudy 是支持 Win10 并且对于 PHP7 的支持也是不错 3 Appserv 是一款在 Windows 下的 PHP 一键安装环境 php 环境搭建的一键安装包有 1 XAMPPXAMPP 是一款功能强大的一键安装环境 它可以在 Windows Linux Solaris MacOSX 环境下进行安装对于 FTP 等常用操作也进

    2025年6月2日
    5
  • 2021.9idea激活码永久【最新永久激活】

    (2021.9idea激活码永久)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1S…

    2022年3月27日
    54
  • django示例_django网站模板下载

    django示例_django网站模板下载前言目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。DTL是DjangoTemplateLanguage三个单词的缩写,也就是Django自带的模板语言。当然也可以配置

    2022年7月31日
    9
  • Python-画图(散点图scatter、保存savefig)及颜色大全「建议收藏」

    Python-画图(散点图scatter、保存savefig)及颜色大全「建议收藏」最近忙着写大论文,用Python画论文里一个示意图,效果还不错,顺便总结一下。一,直接上代码#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltplt.rcParams[‘font.sans-serif’]=[‘SimHei’]plt.rcParams[‘axes.unicode_mi…

    2022年6月6日
    182
  • Oracle联合索引

    Oracle联合索引Oracle联合索引分类:Oracle2012-12-0809:352110人阅读评论(0)收藏举报我现在用的是oracle9i1.一个表建立多少个索引比较合适?比如说不大于5个这个没有定论,楼主要综合查询效率和dml效率自己确定,索引可以加快select的查询速度,但也会降低delete,insert和update等dml语句的执行速度。2.联…

    2022年5月26日
    124

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号