## 复习上节课学习的内容
小朋友们好!我是阿达老师。我们上节课学习了使用侦测模块组的`碰到颜色`功能完成了杰瑞在迷宫内围墙内移动穿梭的功能,这节课我们继续完成《寻找蛋糕》项目,我们为杰瑞设置第一个对手——甲虫
## 本节课知识点
随机数代码块使用
碰到边缘代码块使用
旋转代码块使用
## 实现分析
我们要实现甲虫人围墙内移动,并且碰到舞台边缘后可以随机的调转方向
## 视频实战
我们在这个项目中为杰瑞设置了两个敌人,分别是:甲虫和幽灵,一群邪恶的甲虫在迷宫中穿梭,如果杰瑞碰到它们中的任何一个,游戏就会结束,
我们先要为甲虫的移动创建一些规则,来指导它移动,这个规则我们称之为算法,我们的算法会告诉每一个甲虫都要按照设置好的规则移动,
我们规纳一下,甲虫的算法需要完成两个功能
1、一直向前移动,直到碰到围墙 或者碰到舞台边缘
2、碰到围墙之后会随机选择上、下、左、右四个方向之后再次向前移动
OK,分析完成之后,我们就可以着手进行编码了,首先打开网易卡搭的编程环境,在`我的作品`中选择《寻找蛋糕》这个项目,进入创作页,我们先从角色库中导入一个甲虫角色,切换到这个甲虫的编程界面,先来对甲虫的大小、位置和方向进行初始化,从事件模块组拖动`当绿旗被点击`代码块,从外观模块组拖动`将角色大小设定为30`代码块,从动作模块组拖动`面向90度方向`、`移到x...y...`代码块出来,将以上代码块放在`当绿旗被点击`下方,组成初始化代码,接下来我们让甲虫动起来,从动作模块组拖动`移动10步`代码放到实始化代码下方,将代码块里的数字10改为5,从控制模块组里将`重复执行`代码拖动出来,将`移动5步`代码放入`重复执行`代码块中,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwpiujiubj20cw092wfp.jpg)
现在我们调试运行一下,会发现甲虫的移动过程发生了和杰瑞一样的问题,它也从迷宫的围墙中穿过去了,我们从前面的课程学习过程当中知道可以用`碰到颜色`代码块的功能来解决这个问题,实现代码老师已经写好了,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwqn3mcdfj20ge08owf5.jpg)
在这里有一个和之前学习的不一样的地方,就是我们加入了`碰到边缘`的判断条件,因为甲虫碰到迷宫围墙的时候我们预设它转动的方向是随机的,所以它有可能碰到舞台的边缘,所以我们加入了这个条件,这两段条件之间的关系是“并且”的关系,意思是:“如果满足碰到迷宫颜色或者如果满足碰到舞台边缘”两个条件当中的任一一个,我们都将让甲虫停下来,小朋友,你是不是理解了呢?
甲虫撞墙之后,我们要让它继续移动,让它转动个方向就可以了,但是到底是向左转,还是向右转呢?这里我们需要设计一个算法,向左转或者向面转的机率都是50%,首先,我们先从运行符模块组里拖动`在1到10之间选择一个随机数`代码出来,我们更改一下随机取值的范围,设置为`在1到2之间选择一个随机数`,再从运算符模块组里拖动一个等式结构,将设置好的随机数代码拖动到等式的左边,将等式的右边设置为1,代码如下图:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwpx7cbczj20cg03c74c.jpg)
再从控制模块组里拖动一个`如果...那...否则...`代码块出来,我们把上面这段代码作为条件拖入到当前的条件判断当中,我们在判断结果当中拖入`向右旋转15度`代码块,把旋转的数字改为90度,在否则的判断结果当中拖入`向左旋转15度`代码块,把旋转的数字改为90度,代码如下图:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwq0t7ublj20hy07kmxu.jpg)
以上这段代码的意思就是,如果随机数代码块随机到了1这个值,那么等式成立,甲虫将执行`向右旋转90度`的代码;如果随机数代码块随机到了2这个值,那么等式不成立,甲虫将执行`向左旋转90度`的代码,向左右旋转的机率是一样的,各50%,这是一段很精巧的代码,同时也是比较常用的一种区分概率的手段,小朋友一定要理解掌握哦。
我们把这段随机判断的代码放入到重复执行语句当中,完整的甲虫移动的代码我们就写完了,我们来一起调试一下效果吧,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwq4liprkj20lm0lytcx.jpg)
小朋友们这里要注意两层嵌套判断条件的层级关系哦,我们要在判断碰到迷宫围墙的之后才会判断是否需要转向,所以转向的判断在判断是否碰到迷宫围墙的里边,而是否是碰到了围墙这个判断要一直循环侦测,所以,在这个判断外边还有一个重复执行的语句,
好了,我们已经完成了一个甲虫的移动代码的编程,我们在角色区里可以多设置几个甲虫来增加游戏的难度
,在角色区直接点击鼠标右键复制就可以了,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuwqb259d9j21gu0ucwol.jpg)
我们先来复制三个甲虫吧, 这里我们要设置甲虫出现在不同的位置,所以,我们需要给复制出来的甲虫更改一下初始化位置,把位置设置成不同的坐标,
好了,小朋友们,我们今天的课就结束了,我们下节课继续学习,杰瑞吃到蛋糕后积分累加的功能,拜拜
## 小灶时间
- 简介
- 第二章-星星猎手
- 2.1 玩玩游戏吧
- 2.2 角色到位!
- 2.3 猫咪动起来
- 2.4 海马动起来
- 2.5 海马和猫咪碰上啦
- 2.6 抓海星啦!
- 2.7 抓了几个海星?
- 2.8 更多的海马过来啦
- 第三章 寻找蛋糕(迷宫类游戏)
- 第一课 使用画笔绘制迷宫围墙
- 第二课(1) 键盘操作杰瑞移动
- 第二课(2) 解决杰瑞横穿围墙问题
- 第三课 甲虫狂潮
- 第五课 幽灵出没
- 第六课 收获金币
- 第四章 黑洞大作战
- 4.1 玩玩游戏吧&分析制作思路
- 4.2 level1级别的物体行动
- 4.3 黑洞转起来
- 4.4 吞噬物体&记录分数
- 4.5 黑洞变大
- 4.6 leve2 级别的物体
- 4.7 level2吞噬、level3吞噬
- 4.8 游戏做好啦!
- 第五章 灵药战争
- 5.1群魔乱舞
- 5.2灵药惊现
- 5.3闪转腾挪
- 5.4大功告成
- 第六章 跳跃的猴子
- 6.1 part1