刚在网上看到这个的算法的分析,然后写了一个C#版的。算法分析地址:http://www.j2megame.org/index.php/content/view/2120/125.html
算法原理:从起点开始,随机选择一个方向移动,一直移动到终点,则移动的路径便是迷宫的路径。移动过程中要保证路径不要相交,不要超出边界,生成效果
public partial class MainForm : Form
{
private Bitmap bitmap;
private const int SIZE=10;
private const int MAXMAZE=50;
private int[,] maze_matrix;
public MainForm()
{
InitializeComponent();
maze_matrix=new int[MAXMAZE+2,MAXMAZE+2];
}
void BtnCreateClick(object sender, EventArgs e)
{
makeMaze(10);
Debugs(10);
Render(10);
}
void Maze_panelMouseDown(object sender, MouseEventArgs e)
{
}
void Maze_panelPaint(object sender, PaintEventArgs e)
{
}
private void makeMaze(int size){
for (int i = 0; i < size*2+2; ++i) {
for (int j = 0; j < size