查看: 1382|回复: 12
收起左侧

[综合教程经验] 教程:HMI画布-贪吃蛇

Slimming 2022-5-19 11:14:50 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 Slimming 于 2022-5-19 11:47 编辑

一、简介

Javascript中的canvas可实现动画显示,配合接口变量可以实现一些简单的小游戏。
接上个帖子,今天分享一下贪吃蛇的教程,之所以选贪吃蛇因为其玩法简单但不枯燥,编程实现较为容易,作为画布学习的进阶来说比较合适。 贪吃蛇.gif


二、游戏分析规划

针对贪吃蛇,抛去图片和复杂的样式,内容大致分为:蛇、食物、游戏边框、游戏难度
先从简单的开始分析。
1.游戏边框
边框限制蛇的活动范围,通过蛇头坐标判断是否超过范围来控制游戏是否结束,另外蛇头与蛇身的坐标重叠也需要结束游戏。
image.png
image.png

2.游戏难度
游戏难度通过速度控制,画布的刷新速度通过定时器SetInterval实现,再通过ClearInterval来动态刷新游戏的难度。
image.png

3.食物
食物在被蛇吃掉之前坐标固定,被吃掉后坐标随机刷新,蛇身长度+1,通过蛇头与食物的坐标是否重叠判断是否被吃掉。
image.png
image.png

4.蛇头与蛇身


蛇头与蛇身通过坐标与长度控制,游戏启动时初始化坐标与长度,启动后蛇身通过前后节的坐标复制实现连续运动。蛇身跟着蛇头走,蛇头通过方向控制移动。
image.png
image.png
image.png

三、总结

贪吃蛇游戏的核心是坐标的控制,蛇头通过屏幕方向按钮控制移动,蛇身控制的核心是前后节坐标的复制控制移动,蛇身始终跟随蛇头。


前后节坐标的复制在动画制作以及方案算法中比较常用,例如:交换两个数据的内容、数组中插入或删除部分数据等。


经验交流才能升级,大家有什么想法在评论区发表出来吧。
image.png

贪吃蛇.7z

450.88 KB, 下载次数: 60

售价: 5  [记录]

点评

感谢分享  发表于 2023-2-25 16:41
感谢分享!  发表于 2022-12-2 08:57




上一篇:汇川H5U与汇川IT7070T如何通讯
下一篇:通讯错误问题

已有 3 人打赏作者

chenwen 赏了楼主1水滴 Inovance 赏了楼主25水滴 工控小小白 赏了楼主25水滴
回复 邀请回答送花

使用道具 举报

SKYLUO 2022-5-20 02:27:46 | 显示全部楼层
可以說 70% 以上內容都搬運我在CSDN發的原文
有意思,連用詞都一樣
https://blog.csdn.net/shyhkaelo/ ... 1001.2014.3001.5501
回复 送花

使用道具 举报

Slimming 2022-5-20 10:11:22 | 显示全部楼层
本帖最后由 Slimming 于 2022-5-20 10:15 编辑
SKYLUO 发表于 2022-5-20 02:27
可以說 70% 以上內容都搬運我在CSDN發的原文
有意思,連用詞都一樣
https://blog.csdn.net/shyhkaelo/artic ...

你有疑问可以先发表出来,没有看过我的程序上来就说我70%搬运你的文章,你礼貌吗?
造谣一张嘴,辟谣跑断腿。

我分享的程序是关于js语言画布canvas的进阶应用,主要是学习汇川HMI脚本。我看了你的文章是plc写的程序,我用js的canvas做的,贪吃蛇简化下来就是这几个部分没有什么难度,网上关于贪吃蛇相似的文章非常多,难道都是抄你的?

如果说有复杂的算法和你相似那我没话说,贪吃蛇这么简单的游戏实现你说我抄你的,我觉得你在侮辱我,不奢求你道歉,但是希望你停止造谣。
image.png image.png

点评

wyz
做的挺好的,虽然我不怎么懂  发表于 2022-5-24 08:40
回复 送花

使用道具 举报

Cool 2022-7-8 16:30:53 | 显示全部楼层
感谢分享,学习了
回复 送花

使用道具 举报

Allenzhou 2022-11-30 15:48:57 | 显示全部楼层
感谢楼主分享,学习中!
回复 送花

使用道具 举报

我愿人长久 2022-12-1 16:36:26 | 显示全部楼层
内容详细,感谢分享画布案例
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部