欢迎光临散文网 会员登陆 & 注册

Scratch小游戏——贪吃蛇

2020-12-16 22:20 作者:壹零社  | 我要投稿


文/陈新龙

小时候我接触到的第一款游戏就是诺基亚手机中的贪吃蛇,那个时候贪吃蛇还是一款像素化的休闲益智类游戏,简单耐玩贪吃蛇最初是单机,后来慢慢演变了联机版的贪吃蛇大作战一条小蛇开始在吃能量打败对手的过程中不断成长,此之还发展出团战模式、赏金模式、挑战模式等多种玩法。

贪吃蛇游戏的基本核心是,吃到东西后蛇的身体会变长。这款Scratch版贪吃蛇中我们用方向键控制蛇的移动,吃掉苹果后,会在舞台随机位置刷新一个,吃到苹果就可以得到积分,并且积分越高贪吃蛇身体越长在游戏中,贪吃蛇拥有穿墙功能,当贪吃蛇头部碰到舞台边缘(墙壁)时会从舞台对面爬出来。快来和我一起动手完成这个简单的小游戏图1

  


1. 绘制造型

在编写代码之前我们自己绘制一个贪吃蛇的造型,不需要从网上贪吃蛇图案,选择角色库中的Ball角色,然后进入造型界面中给自己心爱的贪吃蛇填充颜色加上两个圆圆的眼睛。注意眼睛的角度方向,如图2所示我们只需要画一个头就可以了,至于贪吃蛇的身体怎么画不要着急往下看你就知道了图2

 


2. 方向控制

返回代码窗口开始编写程序,贪吃蛇的移动通过上下左右的按键来操作,移动步数为5步,当按下键时,面向方向0度下键,面向方向180度左键,面向方向-90度右键,面向方向90度。如果设计造型时和图2的眼睛方向不同,就需要根据自己绘制的图形调整贪吃蛇的转向角度了(如图3)

 


 

3. 实现穿墙功能

我们只需要一个精巧的设计就可以很快速的实现穿墙功能我们已经知道舞台的大小是宽480高360。重复侦测贪吃蛇的坐标位置,当侦测到Y坐标超过180或X坐标超过240时我们就可以断定贪吃蛇爬到了舞台边缘。这时改变坐标的正负号,比如当Y坐标大于180时,将贪吃蛇的Y坐标调整成-180,同理Y坐标小于-180时,将贪吃蛇的Y坐标调整为180;X坐标大于240时,X坐标调整成-240,X坐标小于-240时,将X坐标调整成240。这样贪吃蛇就会出现在舞台的对面了(图4)。

 


4. 贪吃蛇的成长

如何贪吃蛇身体的边长是这个游戏的核心,这里我的方法就是克隆首先重复克隆自身,设定一个变量“身体长度”为5,当克隆体启动时等待时间设置为:身体长度*0.05,之后删除这个克隆体。通过这个变量控制克隆体存在的时间就可以控制贪吃蛇身体的长度了,而乘以0.05是将积分转化为身体长度的比例(图5)

 

5. 苹果的代码

添加苹果角色,新增加变量“吃掉苹果的数量”用来显示获得的积分程序开始后,将变量设为0苹果隐藏状态移动到随机位置,等待0.5秒后,将苹果显示出来

重复执行当苹果碰到贪吃蛇后,“吃掉苹果的数量”加1,身体的长度也增加1,并且暂时隐藏起来,等待0.5秒以后再次显示图6

 


贪吃蛇这款小游戏难度不高,知识点主要是穿墙的技巧和通过控制克隆体存在时间控制身体的长度。但是这样简单的实现效果也为后续的升级埋下了隐患。贪吃蛇游戏还有一个核心规则,不能吃到自己的身体。当使用克隆体作为身体时不管是使用颜色还是使用角色作为侦测手段都很难正确的判断是否碰到自己的尾巴。大家可以思考一下有没有其他方法来完成身体部分比如用画笔就更容易判断但视觉效果又差了一截。


Scratch小游戏——贪吃蛇的评论 (共 条)

分享到微博请遵守国家法律