我寫了一個程序來生成一個迷宮並解決它,但是它在求解部分有一些缺陷。C++棧迷宮求解程序
它形成了像5 * 5或16 * 16這樣的方形迷宮。
迷宮開始於(0,0在2D陣列,並且在(大小()結束 - 1,尺寸() - 。1)
我用 '1' 以指示結束路徑。 您可以從圖片中看到下面有一些不必要的「1」,儘管該程序可以找到出口。
對不起大家,我真的無法調試這一點。誰能幫助我或者指導我? 非常感謝!
我的代碼是在這裏 https://www.dropbox.com/s/vldkcv4fy6bp1ff/Source.cpp
問題SOLOVED 謝謝大家
我原來的解決迷宮代碼爲
`否則,如果(randomNum == 1){
if (y+1<myMaze.size() && !myMaze[x][y+1].left && !myMaze[x][y+1].visited)
{
y++;
myMaze[x][y].truePath=true;
myMaze[x][y].visited=true;
s1.push(myMaze[x][y]);
randomNum=rand()%4;
}
else
{
rightBusted=true;
randomNum=rand()%4;
}`
然後,我只是將這些代碼添加到if語句中,以將bool變量重置爲false,然後問題解決了
downBusted=false;
rightBusted=false;
topBusted=false;
leftBusted=false;
謝謝!你非常友善和耐心 我終於找到了這個錯誤,感謝你 –