Scratch

状课网-少儿编程网课专业平台

Scratch 跟我学scratch编程:经典系列——贪吃蛇

发布时间:2021-11-26 11:32:29 浏览 0

  CC哥老看到有人问贪吃蛇的问题,本来想从网上找一篇放上来,结果看了一遍都不让人满意,索性CC哥就自己写了一个,让大家看看好玩不。 

  角色介绍:

跟我学scratch编程:经典系列——贪吃蛇

  角色很简单,button1代表蛇身,botton2代表蛇头,butterfly2代表昆虫。然后就是button3一个开始按键。

  本课程学习要点:

  1:通过不断克隆来形成蛇身。

  2:通过不断延长克隆后,克隆体保留的时间来让蛇逐渐变长。

  3:通过私有变量来检测蛇是否碰到自己的克隆体,碰到则游戏结束。

  当然本程序还有其他可以学习的点,但是CC哥就不一一介绍了。大家注意关键点就好。

  先介绍简单角色的代码,把难点留到最后。

  角色:蛇头

 

  蛇头的角色设计,CC哥还试了好多次,最后发现就用按钮点两个点就好,有兴趣的小朋友可以自己去设计一下。

跟我学scratch编程:经典系列——贪吃蛇

  蛇头的程序逻辑很简单,就是在开始以后,一直跟住蛇身角色就好。

跟我学scratch编程:经典系列——贪吃蛇

  这里面要注意:

  1:蛇头和蛇身的初始位置要对好。

  2:角色大小要一样。

  3:通过循环,让蛇头一直跟住蛇身角色。

  4:始终要保持跟蛇身的方向一直。(如果没有这一句,你的蛇头的眼睛就不能保证一直向前看了)

  再看另一个简单角色:

  蝴蝶的代码:

跟我学scratch编程:经典系列——贪吃蛇

  蝴蝶的代码很简单,CC哥就不讲解语句了:

  1:左边的部分是初始化,先让蝴蝶大一些,充当开始界面的角色展示用。

  2:收到程序开始的消息后,将角色调整到游戏需要的大小。

  3:重复的碰撞检测。一旦检测到碰到蛇头角色,立即显示得一分,同时蝴蝶消失后,随机出现在屏幕的任意位置。(这里面有个小bug,就是蝴蝶有可能出现在蛇身的位置,怎么解决小朋友们自己可以考虑一下)

  下面讲关键部分:

  蛇身的全部程序:

跟我学scratch编程:经典系列——贪吃蛇

  CC哥一个个来介绍关键点:

跟我学scratch编程:经典系列——贪吃蛇

  贪吃蛇的自动走动部分很简单,一个移动命令配合一个等待命令。(小朋友记得循环里一定要考虑放等待命令,因为很多游戏都是有时间概念的,放等待命令就是在调节游戏的快慢,如果不放的话,任何动作和计算都是一下开始就结束了,太多小朋友都经常会忽略这一点。)这个移动命令和等待命令就是在调节贪吃蛇移动的快慢。移动的步子越大,蛇就跑得越快,等待的时间越短,蛇也跑得越快。(小朋友可以根据这一点来调整游戏难度,比如随着得分越高,贪吃蛇跑得越快。)

跟我学scratch编程:经典系列——贪吃蛇

  克隆自己目的是为了形成蛇的身子。

跟我学scratch编程:经典系列——贪吃蛇

  上下左右键是为了控制蛇走的方向。

跟我学scratch编程:经典系列——贪吃蛇

  检测坐标是为了让蛇从一边进去,另一边出来。

  关键来了,蛇身的形成和如何控制越变越长:

跟我学scratch编程:经典系列——贪吃蛇

  其实非常简单,只要不断的克隆,然后当克隆体出现时,控制克隆体存在的时间就可以了。比如等待4秒,那么蛇身就是蛇头走了4秒的长度。大家理解没有?

  那我们用得分这个变量来代替等待时间,得分越高,克隆体存在的时间就越长,然后蛇身也就越长了。

  网上的大多讲贪吃蛇的都没有讲,如果蛇碰到自己之后该怎么办,也就都没有处理,但是实际上我们玩的贪吃蛇不是这样,我们玩的贪吃蛇如果蛇头碰到自己的身子就会游戏失败。

  那这一部分怎么做呢?

  这里面涉及到一个问题,角色碰到的具体哪个克隆体,也就是克隆体的编号问题。这个问题有点复杂,通常我们克隆了一大堆克隆体,但是却没法区分,到底哪个克隆体是哪一个。我们为什么要确认碰到哪个克隆体呢?因为最新的几个蛇身的克隆体是蛇头一直会碰到的,所以如果不区分的话,游戏一开始就结束了。

  怎么区分哪个克隆体是哪个呢?这里面就要导入一个私有变量的概念,也就是我们需要创建一个专属于蛇身的私有变量,克隆编号,每当克隆体产生的时候,这个克隆体也就同时把私有变量也一起克隆了。所以在每一个克隆体内,克隆编号这个变量的值是不同的。我们再创建一个对所有角色都适用的全局变量:最大克隆编号。那么通过这段程序,我们就可以得到目前最新克隆出来的克隆体的编号,和每一个克隆体对应的各自的编号。

跟我学scratch编程:经典系列——贪吃蛇

  有了这两个编号,我们只要保证蛇头碰到的不是刚产生的几个克隆体,就可以确定是蛇头碰到了蛇身子了。

跟我学scratch编程:经典系列——贪吃蛇

  最后CC哥还做了封面和结尾画面,这个大家可以自己看,或者做自己喜欢的特效了。

跟我学scratch编程:经典系列——贪吃蛇

  ———— / 总结/ ————

  CC哥是希望大家能通过对贪吃蛇这个游戏,对克隆有一个深度的理解,特别是这次CC哥导入了仅对当前角色适用的私有变量的概念,同时提出了克隆编号的概念,希望大家能自己好好琢磨一下,看以后在编程设计中如何去使用这样的概念。

 

来源:跟我学scratch编程

本文链接:https://www.ascratch.com/news/17631.html

上一篇:跟我学scratch编程:动画篇—刚好遇见你(续) 下一篇:返回列表