(⼗)Scratch制作《贪吃蛇》,超详细
⼏乎在学习任何⼀种编程语⾔过程中,都会拿《贪吃蛇》这款游戏来实战练⼿,那如何⽤Scratch来制作 《贪吃蛇》呢?
⾸先声明制作《贪吃蛇》⽅法多种多样,不局限于我这⼀种⽅法,我这⼀种是我平常给孩⼦上课,我认为⽐较容易理解的⼀种⽅法。不需要使⽤链表,代码简单好理解。这个⽅法适合教培机构Scratch讲师,青少年,和对Scratch感兴趣的成⼈编程⼩⽩学习。废话不多说我先上成品图:
介绍:
1.游戏界⾯:
2.游戏规则:
(1)游戏开始,只有蛇头,蛇头会⾃动移动,玩家通过控制⽅向键控制蛇移动的⽅向
(2)游戏开始会随机⽣成苹果,苹果不会⽣成在砖上,蛇⾝上,苹果上。
(3)蛇撞击砖块游戏结束,蛇吃掉10个苹果,游戏胜利。
正式制作:
游戏素材:
游戏素材⾮常简单,我们只需要准备⼀个蛇头,这个可以去⽹上图⽚,然后转换成png格式,背景砖块可以⾃⼰画⼀个。⾄于蛇⾝体,还有苹果都可以在Scratch⾥⾯到。蛇头,蛇⾝体是蛇这个⾓⾊的不同造型。⾄于使⽤Scratch3.0还是2.0,其实都⼀样。我个⼈⽐较喜欢⽤Scratch2.0。
思考问题?
1.蛇头⽅向如何控制?
2.蛇⾝是怎么变长的?(难点)
3.蛇⾝长度与吃掉苹果个数的关系?(难点)
4.苹果如何出现在随机位置且不会落在砖块,蛇头和⾃⾝⾝上?
5.蛇头碰到砖块,游戏结束。
6.如何设置满分10分,闯关成功?
贪吃蛇的编程代码
7.苹果摆动效果如何实现(附加特效,可作为作业)
解决问题:
1.蛇头⾃⾝会移动,为什么要加上等待呢?上课的时候可以让学⽣试⼀下不加等待是什么效果。如果不加等待的话,蛇移动速度会⾮常快,这个⼤家可以⾃⾏设置。我这⾥提供的是我认为合适的等待时间。⾄于为什么是移动16步,这个其实是根据你的素材原始⼤⼩来设置的,⼤家可以根据⾃⼰的素材去设置,总的原则就是,移动的距离刚好可以⾸尾相连。⼤家⾃⼰试⼀下就知道⾃⼰移动多少步合适。
蛇头是通过⽅向键控制的↑↓←→
2.蛇⾝是怎么变长的?(难点),其实也⽐较简单,我们只需要让蛇每⾛⼀步克隆⼀个⾃⼰就可以,我们使⽤【将造型切换为蛇⾝】这个积⽊显⽰的是另⼀个造型,也就是蛇⾝体,同时因为克隆体会覆盖本体,所以我们让克隆体出现在本体后-16步,(-16前⾯已经讲清楚了),本体就是蛇头,克隆体就是蛇⾝体。当到这⼀步后,你点击运⾏,会看到每⾛⼀步,蛇⾝体会加长⼀节。如果不加⼲预的话,蛇⾝体会越来越长。
有⼈会问,贪吃蛇不是吃到苹果才会⾝长加1吗?为什么我这⾥会是⼀开始就让蛇⾝长增长。后⾯会讲到,但是这⾥我稍微的说下我的思路。贪吃蛇难点在这⾥,你要保证蛇⾝体的⾏进路线和蛇头⼀样。最开始我想的是,当蛇头吃到⼀个苹果后,蛇头再克隆⼀个,然后再接到蛇头后⾯,这个是可以的,但是仅限于⼀个,当吃的苹果多了后,如果你继续克隆,那么新克隆的会覆盖在第⼀个克隆体上,按逻辑新克隆体应该出现在蛇⾝末尾,但是如果此时蛇⾝体不是直线形状呢?那会把整个代码整的⾮常
复杂。我需要讲给只有⼏岁的学⽣听,所以⽅法不能太复杂。所以正逻辑思维不可以。那我就反着来。我让蛇每⾛⼀步都在克隆⾃⼰,然后再让每⼀次新克隆出现在本体后⾯,这样其他的克隆体就不需要动。蛇⾝后有⼀条长长的⾝体。但是显然蛇没吃苹果,⾝长肯定为0。我在想那我可不可以,前⾯边克隆,后⾯我边删除呢?前⾯每隔0.2秒⾛⼀步,同时克隆⼀个⾃⼰,放在靠近蛇头⾝后,我后⾯删除克隆体呢?这样我刚克隆完⾃⼰,然后⼜删除了克隆体。那么蛇⾝后就没有其他。现在的问题是,如何到吃掉苹果个数和蛇⾝后长度的关系,且看下⾯讲解:
3.蛇⾝长度与吃掉苹果个数的关系?(难点)我们需要的是吃掉苹果蛇⾝长增加1,没吃苹果蛇⾝长为0,为此我们创建【蛇⾝长】这个变量,每吃⼀个苹果就让蛇⾝长变量加1,蛇⾝长这个变量就是我们关系的纽带,蛇⾝长变量把吃苹果个数量化了,原本我们是蛇头克隆,然后再删除克隆体,这样保证了没吃苹果情况下,只有蛇头长。因为蛇是每等待0.2秒⾛⼀步,所以那我们可不可以等待 【0.2 X 蛇⾝长】秒再删除克隆体呢?那这样的话,蛇⾝后剩下的克隆体个数就和苹果数联系上了。这个就是我
的⽅法。
4.苹果是随机出现,但是苹果不能出现在砖块上,也不能出现在蛇⾝体和蛇头上,还有不能出现在苹果本⾝上。我们可以让苹果这个⾓⾊【重复执⾏15次】克隆⾃⼰,然后再让克隆体随机出现在屏幕上,这个就通过【重复执⾏直到】这个模块来实现。
5.蛇头碰到砖块,游戏结束。单单就这个功能⽽⾔,我们只需要在蛇头⾓⾊⾥侦测,如果蛇头碰到红⾊砖块,那么我们就发出⼀个⼴播游戏失败,其他⾓⾊接收到游戏失败,⽐如背景就显⽰游戏失败的背景图⽚。
6.如何设置满分10分,闯关成功?前⾯我们设置了蛇⾝长这个变量,这⾥我们只需要判断蛇⾝长=10时,就⼴播闯关成功,然后背景图⽚接受到后,也就切换到成功背景。
7.苹果摆动效果如何实现(附加特效,可作为作业),我们给苹果设置⼀个初始⾓度,然后让苹果左旋转 初始⾓度X2 的⾓度,等待⼀定时间后,再右旋转 初始⾓度X2 的⾓度。如此就可以让苹果左右摆动。
总结:
这⾥放上完整版代码,⾥⾯我加了⼀些效果,⽐如开始动画,但是这些⽆关紧要,主要把上⾯⼏个功能弄清楚了,这个就不能难了。
舞台代码如下,舞台背景有四个造型
蛇⾓⾊代码,蛇⾓⾊有两个造型
苹果⾓⾊代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。