咨询热线:

187 - 6397 - 2757

当前位置: 首页 > 新闻列表 > 编程与游戏结合

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」

    历下区实验小学的同学,班级45个同学,45个孩子都在学习编程,这是什么概念呢?是家长重视孩子教育,因为现在中高考有数学的地方就有编程题,作为其他区的家长们,你的孩子现在接触过编程吗?

    前面我们给大家介绍过一个走迷宫的小游戏,今天我们就来小试身手,通过编程实现自动走迷宫的小程序。

    自动走迷宫,我们肯定要有一个智能的套路,比如智能寻径,人工智能 等等,不过今天介绍的这个功能似乎也算是带点智能,毕竟是让程序自己走嘛。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图1)

    好了,在开始之前我们先介绍一种摸墙走迷宫的算法(一提算法,不禁觉得好高大上。其实就是一种分析问题的套路而已)。

    经典的摸墙算法可以简单总结为:在一个连通的迷宫图中我们用左右其中的任意一只手摸着墙就一定可以走出这个迷宫。也称为绕墙走算法,是一种迷宫搜索的初级算法。

    下面我们就使用左手摸墙的走法实现这个算法。算法实现可以用下面的流程图来表示:

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图2)

我们来分析一下流程中有哪些关键点

 1.走到墙边

 2.检测左边是否存在墙壁

 3.检测前面是否存在墙壁

 4.左右转向

 通过上面分析,好像也没什么难点。那么就让我们动手试一下吧

 1.导入迷宫图,创建角色

 程序开始时,我们可以使用前期的迷宫游戏中使用的迷宫地图作为游戏背景,再选择一个小球作为走迷宫的主角角色。

 如果还没有迷宫地图,可在公众号中回复“迷宫图”

 在这个迷宫图中,我们为了防止小球走到迷宫外面,我们要提前把入口封起来,让迷宫只有一个出口可以走出去。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图3)   

    2.走到墙边

    这个功能没有什么复杂的,就是让角色一直沿着既定的方向前进,直到碰到墙壁即可。这里可以使用侦测中的“碰到颜色”积木来实现

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图4)

    3.检测左边是否存在墙壁

     我们通过流程图可以发现在角色行走过程中要不停的判断左边是否存在墙壁,所以我们就可以定义一个自定义积木。让这个积木专门做检测事件。

     同时我们为了得到检测结果,我们还需要一个左侧是否存在墙壁的变量,我们定义为“左边是否有墙”,如果左边存在墙壁,就将这个变量设为1 否则这个变量值就是0

     判断左边是否存在墙壁,我们可以让角色往左边移动一步,然后再侦测一下是否碰到了墙壁(在这个程序里,因为墙壁的颜色是黑色的,我还依然使用“碰到颜色”作为检测条件)就可以了。

     当左移一步碰到墙壁,则说明左侧存在墙壁,如果没有碰到墙壁,则说明左边没有墙壁。

     因为我们只是做侦测,并不是真的移动,所以我们在检测完毕后还要将角色进行复位。所谓复位就是把我们前进的步数退回来,转的角度也回转回来。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图5)

    4.检测前方是否存在墙壁

    这个功能和前一步中“检测左边是否存在墙壁”功能一致,所以我们就不再进行赘述。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图6)

    5.左右转向

    左右转向在整个程序里起到了关键的作用,我们在分清在什么时候向左,什么时候向右。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图7)

    当左边没墙时,我们要向左转。同时左转后,要让角色移动一步。这个移动非常重要,如果一旦不移动的话,有可能会造成角色在原地打转的情况

    当左边有墙时,这时候我们才可以进行前方是否有墙壁。

    如果此时前方存在墙壁,我们只能右转,因为这时我们左边前面都有墙壁,我们只能右转;

    如果前方没有墙壁,那么此时就可以放心大胆的前进一步。

    6.到达目的地

    在整个过程中,我们都没涉及到是否到达终点的判断,那么我们要在什么时候进行目的地的判断呢?

    我们在观察流程图时,可以发现:其实我们每走一步都要看一下是否已经到达目的地。所以我们在进行循环积木的选择时,就要选择“带条件的重复执行”积木。积木的条件就是角色是否到达的目的地。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图8)

    通过以上代码的整合,我们就可以得到整个程序的完整代码。

“自动闯迷宫”孩子爱玩游戏不如让他自己去做游戏「济南少儿编程_山东少儿编程_少儿编程」(图9)

    好啦!各位家长如果想尝试下快去我们云平台吧 速云少儿编程 - 云平台 或输入网址 http://it.itchilds.com

    这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图11)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)

    计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。小云解读:如何通过编程解决数学题 - 求数值累加之和(图3)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)

    当然,无人机编程就更加深奥,比如我们看下面的视频吧!

    无人机能六架一起起飞?没错!那他又和数学有什么关系呢?

    小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型

    现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?

无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?

答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!


    无人机编程都学习哪些内容呢?

       让无人机与编程结合?

没错!就是要让孩子“动手”+“编程”实现无人机起飞。

重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。

例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。


无人机编程(图1)



当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图7)

看我们小童鞋们上课视频吧

    坦克编程都学习哪些内容呢?

    动手组装”+“编写程序”

    通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。

    课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。

    例如:人脸识别、智能跟随等前沿技术。


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图8)


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图9)

在线客服
热线电话

微信公众账号

在线购课

微信客服