带娃学Scratch之十三----完善迷宫

上一次课画了一个迷宫,然后小老鼠在迷宫中穿行无阻,这当然不是我们想要的。所以马上修改内容让小老鼠不能穿越迷宫,只让可怕的幽灵穿越迷宫。

首先我们回到了小老鼠的代码去,找到控制小老鼠的循环部分,这时候我适时提问。

‘有什么办法可以让小老鼠不能穿越迷宫呢?’
‘碰到迷宫反弹’
‘没有这个东西’
‘那我不知道’
‘……’

我会轻易认输吗?

‘那你想想,我们的迷宫是个’角色’,我们怎么知道有没有碰到某个角色呢?’
‘啊,检测有没有碰到迷宫’
‘没错!’

我们要做的就是当老鼠碰到迷宫的时候,往自己当前运动的反方向移动一段距离,这样效果看起来就像是老鼠被困在迷宫里,无法穿墙而过了。

祭出积木块

在这里插入图片描述
什么是-5步的意思,为什么是5?

为了理解此处内容,我详细解释了原理。
在这里插入图片描述
然后继续深入碰撞解释。
在这里插入图片描述
虽然下图左图小老鼠并没有碰到奶酪,右图小老鼠也没有碰到竖线,但是奶酪和竖线进入了小老鼠矩形框内部了,所以程序会认为这两个角色发生了碰撞。所以,在实际的编程中,要注意这种情况对游戏的运行带来的影响。

在这里插入图片描述
接着把新添加的模块放到了小老鼠的控制模块中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新添加模块后,小老鼠基本无法动弹了,所以小朋友正好再次大显身手,重新绘制迷宫。迷宫墙之间的缝隙尽量合理一下,这样不会让小老鼠动弹不得。
在这里插入图片描述
话说着缝隙真够合适的,也大得离谱了吧?

扫描二维码关注公众号,回复: 14885843 查看本文章

这下终于可以游戏了,哈哈,小朋友很得意。

我怎么能让你如愿呢?马上出题,如果我移动了迷宫的初始位置,比如这样,你怎么办?

小朋友思考了一会,果断加入代码块。
在这里插入图片描述
‘嗯,还可以,接着我们开始加入心得敌人吧。’
‘不,我要多画几个迷宫。’
‘一会再画’
‘我已经开始画了,别打扰我。’
‘……好吧,下节课再加入新的敌人。

猜你喜欢

转载自blog.csdn.net/jackwsd/article/details/113940986