案例七:迷宫历险记

案例介绍

本案例将为大家介绍Google Blockly的一个迷宫小游戏-Maze,在这个游戏中,每个关卡都会提供一个地图,地图上有起点和终点,而我们要做的事就是利用每个关卡提供的Blockly语句模块构成一个小程序,使得程序运行起来时,起点处的小人能够顺利的从起点到达终点。

案例准备

其知识点包括如何用正确的顺序结构通过复杂的迷宫,同时本案例也会为大家介绍迷宫算法。

知识模块主要包括: a.简要介绍maze迷宫的玩法以及顺序结构的使用。 b.迷宫算法的介绍。

a.例如第二关,小人需要经过两次转弯才能到达终点,需要注意的是,第一次转弯后小人必须前进一部分路程才能进行第二次转弯。

所有组成的模块如下:

在这个游戏中,我们最需要弄清楚的是每个数据块执行的顺序,以及我们应该如何摆放它才能让小人顺利的到达终点。

顺序结构:顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

例如,a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三部曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159rr,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。

b:迷宫算法 深度优先搜索原理:一条道走到底,走不通再回来尝试下一条道。

深度优先遍历: 从表中起点出发 (1)访问起点; (2)依次从表中的未被访问的邻接点出发,对表进行深度优先遍历;直至图中与起点有路径想通的点都被访问; (3)若此时表中尚有顶点未被访问,则从一个最后入栈未被访问的顶点出发,重新进行深度优先遍历,直到表中所有顶点均被访问过为止。

广度优先搜索原理:一层层遍历,直到遍历到最后一层。

广度优先遍历: 从表中起点出发 (1)访问起点; (2)依次从表中的未被访问的邻接点出发,对表进行广度优先遍历;直至图中和起点有路径想通的点都被访问; (3)若此时表中尚有顶点未被访问,则从最先入队的未被访问的顶点出发,重新进行广度优先遍历,直到表中所有顶点均被访问过为止。

results matching ""

    No results matching ""