[問題] 蜂巢陣列的走迷宮

看板C_and_CPP (C/C++)作者 (陽光宅)時間16年前 (2010/05/26 05:02), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
程式碼 http://nopaste.csie.org/1a0a1 讀檔.txt http://shouryan.myweb.hinet.net/maze.txt 題目 http://shouryan.myweb.hinet.net/hw2_pg.pdf 蜂巢陣列的走迷宮(只有奇數奇數&偶數偶數座標) 以下是我遞迴判斷的函式 因為我沒有建立迷宮的牆壁 所以多一層if判斷是否超出map 請問可否這樣寫? 為何走不到終點ˊˋ if(j-2>=0) //用來讓他不要超出map大小 if(map[i][j-2] == 1||map[i][j-2] == 3) //題目預設終點值=3 visit(map, i, j-2); if(i+1<=map_row-1 && j-1>=0) if(map[i+1][j-1] == 1||map[i+1][j-1] == 3) visit(map, i+1, j-1); if(i+1<=map_row-1 && j+1<=map_col-1) if(map[i+1][j+1] == 1||map[i+1][j+1] == 3) visit(map, i+1, j+1); if(j+2<=map_col-1) if(map[i][j+2] == 1||map[i][j+2] == 3) visit(map, i, j+2); if(i-1>=0 && j+1<=map_col-1) if(map[i-1][j+1] == 1||map[i-1][j+1] == 3) visit(map, i-1, j+1); if(i-1>=0 && j-1>=0) if(map[i-1][j-1] == 1||map[i-1][j-1] == 3) visit(map, i-1, j-1); 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++6.0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.212.131

05/26 06:25, , 1F
x, y 弄反了
05/26 06:25, 1F

05/26 10:22, , 2F
想知道是怎樣的走不到終點,一直打轉或是踏不出下一步?
05/26 10:22, 2F

05/26 13:12, , 3F
因為我把走過的路都標記為9 如果走到終點應該進入
05/26 13:12, 3F

05/26 13:20, , 4F
if(map[node_row][node_col]==9) 因為終點被改成9
05/26 13:20, 4F

05/26 13:46, , 5F
應該是 走錯路的走不到終點
05/26 13:46, 5F

05/26 13:52, , 6F
x y 反了? 可是我實驗印看看map[3][5] map[5][3] 感覺正常耶
05/26 13:52, 6F

05/26 15:15, , 7F
已成功解決 感謝樓上兩位大大熱心幫忙
05/26 15:15, 7F
文章代碼(AID): #1B_3hNqQ (C_and_CPP)
文章代碼(AID): #1B_3hNqQ (C_and_CPP)