您的位置: 主页>机器人编程>Scratch编程>Scratch第三十一讲:自动走迷宫
加盟酷吧机器人 培养孩子核心能力

Scratch第三十一讲:自动走迷宫

想了解编程技巧,就请点击上面蓝字:跟我学Scratch编程,关注CC哥


前一段时间大家在讨论如何如何自动走迷宫的小程序,CC哥也抽时间做了一个,当然细节不是很完善,但是可以学习一下思路。

Scratch第三十一讲:自动走迷宫

先看一下例子,发现没有,实际上这就是走迷宫的最经典的做法,每逢分叉路口向左转的走法。不过我们好好模拟一下这种走法的真实情况是什么:

1:首先这是个黑暗迷宫,你看不见路,也看不见地形,只能摸着墙去走。

2:第二因为是黑暗迷宫,所以你也没法记住曾经走过的路,所以你只能碰到路口,继续摸着墙往左转。

那我们就假设自己是盲人那么这个迷宫该怎么走:

1:第一步是首先走到墙边,摸到墙再说。

2:然后每走一步都要试探一下自己左边还有没有墙,如果没有就赶紧左转,然后再看摸到墙没有,摸到了还要摸一下前面有没有墙,没有就继续往前走。如果前面有墙就沿着墙右转。

(有些小朋友做法是通过给走迷宫的角色加一个小辫子始终接触在墙上,这也是一种做法,模拟手一直摸着墙,不过显示效果不那么好看)

我们来看看程序具体怎么写的:

Scratch第三十一讲:自动走迷宫

CC哥把迷宫单独做成了角色。这样碰撞检测起来简单些,当然也可以把迷宫作为背景,然后去用颜色检测来判断。各自的习惯吧。

如何判断到了出口,我们需要有一个出口的标志,只要碰到这个标志就算出了迷宫,CC哥简单的用红五角星代替了。

大家看主程序部分:

Scratch第三十一讲:自动走迷宫

主程序很简单,CC哥通过自定义命令积木的做法,让程序看上去非常容易懂。主程序就是刚才讲得,先检查左边有没有墙,有墙沿着墙走,没墙就先走到墙边。那具体大家来看几个自定义的命令积木:

先检查左边有没有墙,这个碰撞检测,之前的讲座里都有,大家可以翻看一下CC哥之前的讲座。

Scratch第三十一讲:自动走迷宫

如果有墙,就沿着墙走。这个关键是每走一步都需要做一次检测。也就是左转走一步看看有没有碰到墙,碰到了就退回,同时转回身来。

Scratch第三十一讲:自动走迷宫

这里面关键是每走一步不光要判断左边有没有墙,还要判断前面有没有墙,如果前面有墙了,那左边有墙,前面有墙,就必须沿着墙向右转继续走。所以这里面又嵌套了另一个自定义的积木,检测前方是否有墙。

Scratch第三十一讲:自动走迷宫

如果刚开始的时候不在墙边,就要先走到墙边啦。

Scratch第三十一讲:自动走迷宫

整个游戏大概就是这样了。

当然走迷宫还会有更多的问题,比如走迷宫的角色不是规则怎么办?那么在转角的过程中就会碰到问题,需要注意解决。迷宫的地图不规则和迷宫颜色是变化的怎么办?还有如果想让角色记住走过的迷宫路径怎么办?那就需要把整个迷宫做成网格化。这些都是可以进一步去发挥的。看大家怎么做了,都可以尝试一下。

Scratch第三十一讲:自动走迷宫

Scratch第三十一讲:自动走迷宫

后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

欧美思机器人教育加盟 赚钱好项目
上一篇:Scratch编程初探 - 邂逅“男神”
下一篇:用Scratch做一个3D引擎
您可能喜欢
​吃啥?这个问题交给Scratch!
吃啥?这个问题交给Scratch!
​Scratch学习心得(1)
Scratch学习心得(1)
​Scratch3.0少儿编程案例:画雪花
Scratch3.0少儿编程案例:画雪花
回到顶部