大家好,欢迎来到IT知识分享网。
几乎在学习任何一种编程语言过程中,都会拿《贪吃蛇》这款游戏来实战练手,那如何用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 的角度。如此就可以让苹果左右摆动。
总结:
这里放上完整版代码,里面我加了一些效果,比如开始动画,但是这些无关紧要,主要把上面几个功能弄清楚了,这个就不能难了。
舞台代码如下,舞台背景有四个造型![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图27 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
蛇角色代码,蛇角色有两个造型![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图29 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
苹果角色代码
感谢大家抽出时间来看此文,本人水平有限,希望大家不吝赐教,指出存在的问题,大家一起学习成长
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/7264.html
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图1 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/261055f8-1ce3-46ed-8d18-845caafae6a9202301042983db0c-ca5a-4ee8-8129-ca27b4b04d2e1.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图3 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/1fee53ef-3e52-412a-b6d2-d94c9af1659120230104a8c1533d-5def-47ec-8e7f-06ac077996d61.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图5 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/14f4b44f-5e48-4e99-962c-eeaa5c77b798202301047a6f2e4d-dbd4-40a3-b51a-7774fa82d4811.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图7 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/927ced79-e414-4174-a7ef-4bcac1dbbd6420230104b46e6306-ed65-4854-8fc6-c47216de62801.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图9 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/bd66af9e-fcdc-47e6-b58b-afe854ff77d3202301044ff07286-0ee3-44d5-aed5-94e1caee2e271.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图11 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/4cc2326f-d6ab-41af-be3f-26475c6dc08e2023010481958eda-904c-4082-a034-2d36817ce94a1.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图13 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/1888ea96-b8b9-440b-b3ba-1d868f2ddc63202301047bb6862f-08a1-4476-84b8-9e8fd98050ba1.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图15 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/4b5c4a55-e3aa-491f-983e-e5d0fb5feef620230104dcac5078-0ce1-44f5-ba0b-e092e20366d01.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图17 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/75aa78a2-0f85-41cb-b80e-f9bc4a3deede202301043f464496-7c24-434e-af75-d979a7c10e291.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图19 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/941dae39-c26d-409c-a44d-cb5e0a670d1a202301047d84f547-97a1-49a4-8d63-daf6939940f21.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图21 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/6eb2b9fe-d464-418b-9498-79c50ff7ea4020230104df3f9300-b38b-4a02-9f14-90474a7dad5d1.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图23 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/07fbbb2d-39c7-4540-8d66-932c026b472f202301045f798bdf-4642-496b-b5e2-6d756f4ee3e21.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图25 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/9c3a3310-83f0-44d2-a61e-9f794a02eb4820230104ed91f238-35e3-4ea3-9056-f1f96bf057721.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图27 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/cf73aa7e-7636-486b-a2bc-c2a9dc6a3621202301042751dce7-0ff3-434e-ae7b-cf8eba64f5981.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图29 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/083bb635-eed7-4b5f-b981-d11c3b493619202301041f53f4b7-28e5-44e5-a9f8-641e6bf6bf861.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图31 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/e48dfc78-8373-4570-a4b3-52edbc9efe832023010459b5b92f-2e12-4966-ba29-2d61501a943d1.jpg)
![(十)Scratch制作《贪吃蛇》,超详细[通俗易懂]插图33 (十)Scratch制作《贪吃蛇》,超详细[通俗易懂]](http://qn.javajgs.com/20230104/715cc79f-2443-4ad0-bb6a-7caa49b01ed920230104de67577d-4fa5-4854-a0a1-9c84eae7adfe1.jpg)