C 自動走迷宮

2022-04-12 00:43:24 字數 2320 閱讀 2815

自己寫的乙個c#走迷宮

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

zoumigong

, ,,,

,,,,

,,,,

,,,,

,,,};

//int[,] arr = ,

//,//,

//,//,

//,//,

//,//,

//,//,

//,//,

//,//,

//,//,

//,//,

//

//};

//地圖結束

stack stack = new

stack();

stack.push(

1, 1

);

bool temp = true

;

while

(temp)

//右else

if (getxy(arr, stack, direction.right, stack.top.x, stack.top.y, out x, out

y))

//下else

if (getxy(arr, stack, direction.down, stack.top.x, stack.top.y, out x, out

y))

//左else

if (getxy(arr, stack, direction.left, stack.top.x, stack.top.y, out x, out

y))

else

//沒有路 出棧

stack.push(x, y);

stack.top.fxlist.add(fx);

if (x == 18 && y == 18

)

}while (!stack.isempty())

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

else

if (arr[i, j] == 1

)

else

}console.writeline();

}console.readline();

}//////

得到這個點 所指向的下乙個點

/// ///

//////

//////

//////

static

bool getxy(int[,] arr, stack stack, direction fx, int x, int y, out

int _x, out

int_y)

if (stack.top.fxlist.contains(fx) || arr[_x, _y] == 1

)

else}}

public

enum

direction

//////

/// public

class

stack

//////

入棧

/// public

void push(int x, int

y)

//////

出棧

/// public

void

pop()

public

bool

isempty()

}//////

棧的節點

天王蓋地虎**網:

走迷宮C 版 二

窗體,呼叫.using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system...

C 回溯法走迷宮

定義乙個迷宮,0表示通道,1表示牆 8,10 11 12 13 14 15 16 17 18 19 2021 struct try 定義乙個棧,儲存路徑 22 path maxsize 定義棧 2728 int top 1 初始化棧指標 2930 void findpath int xb,int y...

走迷宮演算法

從起點問題的提出 在遊戲地圖中,如何尋找一條從起點到終點的最短行路線路?資料表達 使用m n大小的byte陣列 來表示地圖,每個位置的狀態用0表示可走,1表示牆,2表示起點,3表示終點,128表示路徑 行走規則有兩種 4方向行走規則 只能從當前點向上,下,左,右 這4個方向行走 8方向行走規則 可以...