欢迎光临
我们一直在努力

【教学基地】迷宫游戏matlab嵌入算法

迷宫游戏运行原理

(Matlab代码嵌入)

大家好,上节课电梯算法的最后提到了matlab代码,今天我们来学习嵌入代码的使用,其实很多编程语言都优胜于虚拟仪器,我们取长补短融合在一起就是最好的,还是通过实例来引入课程。

实例名称:迷宫游戏求出口路径

1.手动设计迷宫,物体可以自动走迷宫

2.自动生成标准支撑树迷宫

3.求解标准迷宫的正确优化路线

【备注】需要下载MathScript模块或安装labview8.5版本(自带mathscript)

-cn/support/downloads/software-products/download.labview-mathscript-module.html

基础部分(走迷宫)

>>>视频教学

>>>前台界面

>>>后台视图

>>>思维导图

<千里教学基地不可见标志>

1*生成一个全都是墙的迷宫,均匀分布出封闭的单元;加厚边墙防止拆墙小红点出去

2* 墙为1,访问过单元为0,未被访问单元为3,精灵为2,设置初始位置

3*寻找邻居拆墙标记

4*移动当前位置  <千里教学基地不可见标志>

5*还有未被访问的邻居,返回第二步

6*全部访问完毕,保存迷宫

7*初始位置位置,走迷宫并记录每次走过的位置

8*读取记录本走过路径数据,分析并删除绕圈子的路径片段

9*将优化后的路径标记到迷宫图上  <千里教学基地不可见标志>

if( 当前位置的邻居 == 有未被访问 ){

记录未被访问过邻居的地址;

在记录里随机选择一个邻居的地址;

拆掉和邻居间的墙,把邻居标记为已访问;

先全部都是墙后再挖洞,对迷宫数组操作n*n次,当前位置基准,下午3点钟方向逆时针旋转,正对面没有墙是向前一步走。

设计草稿:

●制作手动迷宫控件

●二维数组与图片选择卡组成迷宫控件

添加精灵

●测试matlab代码

sort升序降序行列排序

sortrows(x,2)

rand随机数

int8转换类型

length求长度

if   ***    ---   end

●矩阵的排序与查询

矩阵中的东西南北

东,H,L+1

西,H,L-1

南,H+1,L

北,H-1,L

●添加方向控制嵌入代码框

如果向东走,逆时针旋转南东北西

如果向南走,逆时针旋转西南东北

如果向西走,逆时针旋转北西南东

如果向北走,逆时针旋转东北西南

●单方向控制

●状态连贯控制

●初始化支撑树迷宫

●手动拆墙生成迷宫

对数组操作1+4=5次

根据横竖相乘偶坐标是单元空间

根据横偶坐标为水平墙

根据竖偶坐标为垂直墙

都是奇数坐标为支撑点

●测试并添加代码

●邻居探测器

●抽签筒

●拆墙令牌

●访问令牌

初始化一个都为1的方阵,在上面排布上3的邻居,方阵大小是2*N+3;数组与矩阵的区别?数组的XY引索是从0开始的,矩阵是的行列HL是从1开始的,XY+1=HL。

一个拆墙机制和方向控制状态机构成生成迷宫功能,方向控制状态机与记录分析器实现求解优化路径功能;

if 判断条件

执行代码

拆墙方法:

if  存在上下左右==3

统计未访问邻居的个数

记录邻居位置和墙的位置

if  未访问的邻居数目>0

随机选择一个邻居

邻居标记为0访问过单元

邻居墙的位置变为0实现拆墙功能

走迷宫用单层外墙就可以,建迷宫要用双层外墙,因为精灵会拆单层墙。按照方法走迷宫,开始位置为1,每一步都在相应地点标记数字,在当前没有标号时每走一个位置加1,如果当前位置有了号码,把初始位置变为当前位置,如:

正确路径是12345

123擦除重合

提高部分(生成三维迷宫)

提高部分是将设计游戏移植成3D视角,然后由STM32单片机完成真实迷宫的控制监视,将游戏映射到现实,讲到labview for stm32部分时会具体介绍。

推荐使用教程:《LabVIEW宝典_陈树学,刘萱编著》第9章

<千里教学基地不可见标志>

本设计制作为原创公益教学课程,转载请注明出处,版权归 <千里教学基地> 所有,不得用于获利性活动。

——梦魄@行动(2019.02.19)

lu yuan bin

" The quickest way to learn is to practice, a project will involve a wide range of knowledge,  a little learning digestion,  endless learning. "

" This design is an original public welfare teaching course.  The copyright of the content belongs to  <Qianli Teaching Base> .  It is only for study and not for profit-making activities."

——Dream doing(2019.02.19)

千 里 教 学 基 地

赞(12)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址