自己寫的乙個c#走迷宮
usingsystem;
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方向行走規則 可以...