0001 typedef enum { AVAILABLE, ROUTE, BACKTRACKED, WALL } Status; //迷宫单元状态 0002 //原始可用的、在当前路径上的、所有方向均尝试失败后回溯过的、不可使用的(墙) 0003 0004 typedef enum { UNKNOWN, EAST, SOUTH, WEST, NORTH, NO_WAY } ESWN; //单元的相对邻接方向 0005 //未定、东、南、西、北、无路可通 0006 0007 inline ESWN nextESWN ( ESWN eswn ) { return ESWN ( eswn + 1 ); } //依次转至下一邻接方向 0008 0009 struct Cell { //迷宫格点 0010 int x, y; Status status; //x坐标、y坐标、类型 0011 ESWN incoming, outgoing; //进入、走出方向 0012 }; 0013 0014 #define LABY_MAX 24 //最大迷宫尺寸 0015 Cell laby[LABY_MAX][LABY_MAX]; //迷宫