0001 /****************************************************************************************** 0002 * 输出某一迷宫格的信息 0003 ******************************************************************************************/ 0004 void printLabyCell ( Cell* elem ) { 0005 printf ( "%d -> (%d, %d) -> %d\n", 0006 ( ( Cell* ) elem )->incoming, 0007 ( ( Cell* ) elem )->x, 0008 ( ( Cell* ) elem )->y, 0009 ( ( Cell* ) elem )->outgoing ); 0010 } 0011 0012 /****************************************************************************************** 0013 * 显示迷宫 0014 ******************************************************************************************/ 0015 void displayLaby() { //┘└┐┌│─ 0016 static char* pattern[5][5] = { 0017 "┼", "┼", "┼", "┼", "┼", 0018 "┼", " ", "┌", "─", "└", 0019 "┼", "┌", " ", "┐", "│", 0020 "┼", "─", "┐", " ", "┘", 0021 "┼", "└", "│", "┘", " " 0022 }; 0023 system ( "cls" ); 0024 printf ( " " ); 0025 for ( int j = 0; j < labySize; j++ ) 0026 ( j < 10 ) ? printf ( "%2X", j ) : printf ( " %c", 'A' - 10 + j ); 0027 printf ( "\n" ); 0028 for ( int j = 0; j < labySize; j++ ) { 0029 ( j < 10 ) ? printf ( "%2X", j ) : printf ( " %c", 'A' - 10 + j ); 0030 for ( int i = 0; i < labySize; i++ ) 0031 if ( goalCell == &laby[i][j] ) 0032 printf ( "﹩" ); 0033 else 0034 switch ( laby[i][j].status ) { 0035 case WALL: printf ( "█" ); break; 0036 case BACKTRACKED: printf ( "○" ); break; 0037 case AVAILABLE: printf ( " " ); break; 0038 default : printf ( "%s", pattern[laby[i][j].outgoing][laby[i][j].incoming] ); break; 0039 } 0040 printf ( "\n" ); 0041 }//for 0042 }//displayLaby