Blockly编程游戏之迷宫第十关

2020-06-05    4027

第十关是Blockly迷宫系列游戏的终极挑战,有一定的难度。解决任何问题你得有方法,掌握其中的原理,就能很好的解决问题。对于一般的迷宫使用“左手法则”或“右手法则”就能轻松走出迷宫,也就是沿着左边的墙走或沿着右边的墙走。

maze10.png

沿墙走是一种简单的解迷宫算法,在用这种算法解迷宫时,只需要把左手一直放在左边的墙上(或者把右手一直放在右边的墙上),然后沿着墙走,直到走出迷宫。因为在入口和出口间的墙壁是连续的曲线,所以这种“法则”在一系列的墙壁迷宫中都是通用的!但是,如果目标在一个孤岛中,即该部分不与迷宫的其他部分相连,那么这种算法无法找到解决方案,因为它无法扶着墙走到孤岛上。

 

下图迷宫不适用左(右)手法则。红色线为使用左(右)手法则路线,绿色为正确的路线。中间红色包围区域为孤岛。

maze.jpg

 

玩这关时,系统给出了提示,其实就是使用“左手法则”,本关编程游戏少年爱编程给出了两种解法。

maze10tip.png

 

解法一,左手法则:

左手法则其实可以分解为下面几条规则。

重复执行当到达目标时停止。

如果左边有路,就向左转。

如果前方有路就向前直走。

如果前方没有路就向右转。

maze10al.png

 

解法二,右手法则:
 

maze10ar.png

 

maze.gif

 

至此,Blockly游戏之迷宫系列就全部完了,关注少年爱编程微信公众号,后续会出其他游戏专辑。

 

Blockly迷宫游戏他的设计非常有趣,寓教于乐。游戏目标很明确,让小人从起点到终点即可过关,共10个关卡。迷宫是编程循环和条件的学习。它的开始很简单,但是每个级别都比上一个级别更具挑战。让孩子们在玩游戏的过程中不知不觉的学到了编程的思维,来挑战吧!

 

挑战地址

https://www.youweiit.com/myblockly/games/zh/maze.html?lang=zh-hans&level=10&skin=0

 

关注少年爱编程公众号,学习更多编程内容。

261432522m16.jpg