自动推箱子,附源程序

来源:互联网 发布:龙虎榜分析软件 编辑:程序博客网 时间:2024/06/07 20:26

玩了很多推箱子,卡在36关了,卡了很久了,于是今天下午写一段代码解决,但嘲的是,我电脑运行了33万种可能性(穷举,没优化..)还是没出结果..,白写了OO,但对于小地图来说还是能很好的解决任务.如果程序中加入失败的判断,那么速度会有极大的提升.期待我早日攻破我手机上的第36关推箱子.

-->
wwwwwwwwwww
wxxwxxwwwww
wxbb  b  xw
wxhwtwwbwxw
wwbwttt  xw
ww tttwwbww
wx wwtww xw
wx b  b  xw
wxxwxxxwxxw
wwwwwwwwwww
<--

作者: JiangMiao
Blog:
http://blog.csdn.net/antter
Email: jmiwork@yahoo.com
QQ: 185500511
名称: 自动推箱子 v0.1
时间: 2006-11-4

说明:
自动推箱子,把自已需要的地图以规定的格式输入到maze.txt运行block.exe即可
没优化,穷举暴力破解,1吃内存,2浪费时间,地图一大铁做不出.如果穷举了150000种可能性还未出解的话诂计不太会出结果了.适何用于小地图技巧型推箱子,附源码.如果要改进的话,修改WORLD::change,返回FAIL为死路.

得到的始终是最优解之一(所需步数最少)

编译环境是: vs2005

帮助
地图制作:

文件:maze.txt

英文含义
w - 墙
x - 箱子禁止推到的位置
h - 人
H - 人在目标上
t - 目标
b - 箱子
B - 箱子在目标上
空格 - 空格
--> - 地图开始标记
<-- - 地图终止标记

例maze.txt
-->
wwwwwwww
wxxwxxxw
wxbttbxw
whbtB ww
wxbttbxw
wxxwxxxw
wwwwwwww
<--

输出
wwwwwwww
w  w   w
w bttb w
whbtB ww
w bttb w
w  w   w
wwwwwwww
 1 /56 <--总共56步,当前为第一步
wwwwwwww
w  w   w
whbttb w
w btB ww
w bttb w
w  w   w
wwwwwwww
 2 /56
wwwwwwww
w  w   w
w hBtb w
w btB ww
w bttb w
w  w   w
wwwwwwww
 3 /56
.
.
.

没设计,直接写,且写得很烂,大家不要学我,源码诂计下也不想看...

源程序
EXE程序

另外:CSDN怎么上传附件,链接里好像有个浏览服务器,没方新建文件夹,上传说无法在根目录,不晓得它了.

原创粉丝点击