最新消息:

项目实战课程之寻找蛋糕(四)

Scratch 少儿编程 2037浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

项目实战课程之寻找蛋糕(四)

复习上节课学习的内容

小朋友们好!我是阿达老师。我们上节课学习了使用侦测模块组的碰到颜色功能完成了杰瑞在迷宫内围墙内移动穿梭的功能,这节课我们继续完成《灵找蛋糕》项目,我们为杰瑞设置第一个对手——甲虫

本节课知识点

使用克隆功能来实现甲虫运行规则的统一化处理
使用动作模块组的旋转功能实现甲虫的移动算法

实现分析

我们要实现通过键盘上的方向键控制它上下左右移动,并且不能穿过围墙(视频展示:杰瑞上下左右移动动画效果)*

视频实战

我们在这个项目中为杰瑞设置了两个敌人,分别是:甲虫和幽灵,一群邪恶的甲虫在迷宫中穿梭,如果杰瑞碰到它们中的任何一个,游戏就会结束,

我们先要为甲虫的移动创建一些规则,来指导它移动,这个规则我们称之为算法,我们的算法会告诉每一个甲虫都要按照设置好的规则移动,

我们规纲一下,甲虫的算法需要完成两个功能
1、一直向前移动,直到判断到围墙
2、碰到围墙之后会随机选择上、下、左、右四个方向之后再次向前移动

OK,分析完成之后,我们就可以着手进行编码了,首先打开网易卡搭的编程环境,在我的作品中选择《寻找蛋糕》这个项目,进入创作页,我们先从角色库中导入一个甲虫角色,切换到这个甲虫的编程界面,先来对甲虫角色大小、位置和方向进行初始化,从事件模块组拖动当绿旗被点击代码块,从外观模块组拖动将角色大小设定为30代码块,从动作模块组拖动面向90度方向移到x...y...代码块出来,将以上代码块放在当绿旗被点击下方,组成初始化代码,接下来我们让甲虫动起来,从动作模块组拖动移动10步代码放到实始化代码下方,将代码块里的数字10改为5,从控制模块组里将重复执行代码拖动出来,将移动5步代码放入重复执行代码块中,

项目实战课程之寻找蛋糕(四)

现在我们调试运行一下,会发现甲虫的移动过程发生了和杰瑞一样的问题,它也从迷宫的围墙中穿过去了,我们从前面的课程学习过程当中知道可以用碰到颜色代码块的功能来解决这个问题,实现代码老师已经写好了,

项目实战课程之寻找蛋糕(四)

在这里有一个和之前学习的不一样的地方,就是我们加入了碰到边缘的判断条件,因为甲虫碰到迷宫围墙的时候我们预设它转动的方向是随机的,所以它有可能碰到舞台的边缘,所以我们加入了这个条件,这两段条件之间的关系是“并且”的关系,意思是:“如果满足碰到迷宫颜色或者如果满足碰到边缘”两个条件当中的一个,我们都将让甲虫停下来,小朋友,你是不是理解了呢?

甲虫撞墙之后,我们要让它继续移动,让它转动个方向就可以了,但是到底是向左转,还是向右转呢?这里我们需要设计一个算法,向左转或者向面转的机率都是50%,首先,我们先从运行符模块组里拖动在1到10之间选择一个随机数代码出来,我们更改一下随机取值的范围,设置为在1到2之间选择一个随机数,再从运算符模块组里拖动一个等式结构,将设置好的随机数代码拖动到等式的左边,将等式的右边设置为1,代码如下图:

项目实战课程之寻找蛋糕(四)

再从控制模块组里拖动一个如果...那...否则...代码块出来,我们把上面这段代码作为条件拖入到当前的条件判断当中,我们在判断结果当中拖入向右旋转15度代码块,把旋转的数字改为90度,在否则的判断结果当中拖入向左旋转15度代码块,把旋转的数字改为90度,代码如下图:

项目实战课程之寻找蛋糕(四)

以上这段代码的意思就是,如果随机数代码块随机到了1这个值,那么等式成立,甲虫将执行向右旋转90度的代码;如果随机数代码块随机到了2这个值,那么等式不成立,甲虫将执行向左旋转90度的代码,向左右旋转的机率是一样的,各50%,这是一段很精巧的代码,同时也是比较常用的一种区分概率的手段,小朋友一定要理解掌握哦。

我们把这段随机判断的代码放入到重复执行语句当中,完整的甲虫移动的代码我们就写完了,我们来一起调试一下效果吧,

项目实战课程之寻找蛋糕(四)

小朋友们这里要注意两层嵌套判断条件的层级关系哦,我们要在判断碰到迷宫围墙的之后才会判断是否需要转向,所以转向的判断在判断是否碰到迷宫围墙的里边,而是否是碰到了围墙这个判断要一直循环侦测,所以,在这个判断外边还有一个重复执行的语句,

好了,我们已经完成了一个甲虫的移动代码的编程,我们在角色区里可以多设置几个甲虫来增加游戏的难度
,在角色区直接点击鼠标右键复制就可以了,

项目实战课程之寻找蛋糕(四)

我们先来复制三个甲虫吧, 这里我们要设置甲虫出现在不同的位置,所以,我们需要给复制出来的甲虫更改一下初始化位置,把位置设置成不同的坐标,

好了,小朋友们,我们今天的课就结束了,我们下节课继续学习,杰瑞吃到蛋糕后积分累加的功能,拜拜

阿达老师-孩子身边的编程专家

 

 

您必须 登录 才能发表评论!