基于C++的勇闯迷宫游戏

一、使用说明

1.1 项目简介

迷宫只有两个门,一个门叫入口,另一个门叫出口。一个骑士骑马从入口进入迷宫,迷宫设置很多障碍,骑士需要在迷宫中寻找通路以到达出口。

1.2 项目功能要求

提示:

  • 可以采用二维数组,回溯和递归或非递归加栈实现

  • 也可以用BFS算法(即图的广度优先搜索算法,又叫宽度优先搜索算法)

  • 如果用数组的方法,则如果有多条出路,只需要显示一条出路即可,且不一定需要选出最短出路

  • 如果用BFS的方法,则需要显示所有的出路

迷宫问题的求解过程可以采用回溯法,即在一定的约束条件下试探地搜索前进,若前进中受阻,则及时回头纠正错误另择通路继续搜索的方法。从入口出发,按某一方向向前探索,若能走通,即某处可达,则到达新点,否则探索下一个方向;若所有的方向均没有通路,则沿原路返回前一点,换下一个方向再继续试探,直到所有可能的道路都探索到,或找到一条通路,或无路可走又返回入口点。在求解过程中,为了保证在达到某一个点后不能向前继续行走时,能正确返回前一个以便从下一个方向向前试探,则需要在试探过程中保存所能够达到的每个点的下标以及该点前进的方向,当找到出口时试探过程就结束了。

1.3 项目要求

  • 迷宫的行数,列数和起点坐标由用户输入(行数和列数可以不相等),不能由程序定死

  • 迷宫地图需由用户输入,可以用1代表障碍,0代表通路

  • 规定第一行,最后一行,第一列,最后一列是墙壁。如果迷宫有出路,则必须从墙壁进,最后从墙壁出,但起点和终点不能是同一个点

点击此处下载文档和源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值