版权声明:本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名elloop(包含链接)
#前言
本文展示了使用cocos2d-x来实现的一个迷宫探索演示程序,一种简单粗暴的寻路算法,算法来自经典的严蔚敏c语言数据结构里的迷宫探索算法,使用栈来实现。
效果图
按钮功能:
-
Begin : 开始演示
-
Reset: 重新生成随机地图, 地图是可以编辑,点击每个掉块翻转状态(墙或者路)
-
State: 显示地图的数字状态,调试用。
-
Edit: 在进行过探索之后,可以通过Edit对地图进行微调,即可以不需要全部Reset。Edit之后再点Begin,重新进行探索。
下面给出代码实现, 算法和界面是分开的两部分,后面如果要集成新的寻路算法,界面部分是可以公用的,定义新的寻路算法仅需要继承类:,并实现寻路算法接口。
代码
算法部分
1. 算法基类:MazeStrategy.h
2. 基于栈的解法:StackMazeStrategy.h
界面展示部分: MatrixExplore.h
MatrixExplore.cpp
在这里也能看到这篇文章:github博客, CSDN博客, 欢迎访问