一聚教程网:一个值得你收藏的教程网站

热门教程

老鼠走迷宫程序实例

时间:2022-07-02 10:58:12 编辑:袖梨 来源:一聚教程网

/*--------------------------------------------------------------------------------------------
//文件名称:MazeMouse.cpp
//功    能:找出走出迷宫的所有路径,以及最短路径。
//作    者:晒晒周
--------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------
//修改记录:编号           日期             修改者                 备注             

//           0           2003.04.14        晒 晒 周               创  建 
--------------------------------------------------------------------------------------------*/

#include "stdafx.h"
#include "iostream.h"
#include "string.h"
#include "stdio.h"

double dMeans=0,dWalkLen=10000;//dMeans表示走出迷宫的方法,dWalkLen表示当前走出迷宫最少步数            
char Maze[10][52]={
     {"###################################################"},
     {"% ## ####           ###                  ### # ####"},
     {"# ##  # ###  ### ###### ### ############ #   #    #"},
     {"# ## ## ###  ##  ##     # # ## #           #   ####"},
     {"# #    # ## ##  ### #          # ######### # # # ##"},
     {"#      # #   # ##     ########## ####   ##   #    #"},
     {"# ## ### ## ## ### #### ##    ##    # # ######### #"},
     {"# #  #      ## ##       #  ##  #### # #  ##    ####"},
     {"####   ## ####    ####    ##  # ###   ##    ##    @"},
     {"###################################################"},
    };            //迷宫
int MazeFlag[10][51];  //迷宫的标志:0表示未走过,i(i=1,2,3,4)表示已经走过了,i表示方向。
int MazeMin[10][51];   //路径最小的迷宫的标志

void Walk(int nx,int ny);//走迷宫的函数,nx是列,ny是行
void PrintOut();         //打印路径及迷宫的函数,同时比较获取路径较短的行走方法
int  Judge(int nx,int ny,int i);//判断在第nx列ny行向第i个方向走是否可以,可以返回1否则返回0。
                                //i=1表示向右,2表示向下,3表示向左,4表示向上