八方向迷宮尋路的全部路徑

2021-08-03 09:54:40 字數 1376 閱讀 6609

八方向迷宮,可尋出全部路徑

最外層需要全部放1

寫的比較粗糙,日後改進

#include 

using

namespace

std;

int stepcomplete;

int ans=0;

void cin_maze(int **a,int row,int column)

}}void print(int **maze_path,int h,int w)

cout

<< endl;

}}//傳入迷宮陣列,迷宮最終路徑陣列,行數,列數,首次查詢的x座標,y座標,和查詢步數

void dfs(int **maze, int **maze_path, int w, int h, int x, int y, int step)

else

;break;

case

1:if (maze[x+1][y-1]==0&&maze_path[x][y]==0)

;break;

case

2:if (maze[x+1][y]==0&&maze_path[x+1][y]==0)

;break;

case

3:if (maze[x+1][y+1]==0&&maze_path[x+1][y+1]==0)

;break;

case

4:if (maze[x][y+1]==0&&maze_path[x][y+1]==0)

;break;

case

5:if (maze[x-1][y+1]==0&&maze_path[x-1][y+1]==0)

;break;

case

6:if (maze[x-1][y]==0&&maze_path[x-1][y]==0)

;break;

case

7:if (maze[x-1][y-1]==0&&maze_path[x-1][y-1]==0)

;break;

case

8:stepcomplete=tempstep;return;//試探到第八步的時候返回上一層試探,並把stepcomplete設為上一層試探到的步數

default:

break;

}stepcomplete++;}}

}int main()

for (int i = 0; i < row; i++)

//將maze_path賦初值

for (int i = 0; i < row; i++)

}cout

<<"請輸入迷宮:"

<1,1,0);

return

0;}

迷宮尋路(八方向)

使用動態陣列儲存迷宮和迷宮的路徑,1表示牆0表示可走。感覺寫法有點 include using namespace std int stepcomplete void cin maze int a,int row,int column void print int maze path,int h,i...

八方向搖桿 unity

對於八方向的搖桿的想法如下 以xy平面座標系,每45 為乙個方向。public void joystickdirection float joypositionx,float joypositiony else if currentangle 67.5f currentangle 22.5f 45 ...

遊戲開發基礎 方向鍵的組合,八方向實現

自 silvery night的方向鍵的組合,八方向實現 在遊戲中,有一種情況是斜向移動,就是同時按下兩個方向,形成斜線操作,在win32gdi開發中,可以通過在邏輯迴圈裡加入鍵盤狀態判斷取得多個鍵進行操作,但是在silverlight中鍵盤的事件是單個的,不能取得多個鍵盤的狀態,園友提出乙個問題,...