北落师门

让我们的生活更美好
走迷宫C#版(二)

转自  www.chinacs.net  2004-08-10  中文C#技术站


//窗体,调用

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;

namespace MazeDemo

/// <summary> 
/// Form1 的摘要说明。 
/// </summary> 

public class Form1 : System.Windows.Forms.Form
 
{  
private System.Windows.Forms.Button button1;  
/// <summary>  
/// 必需的设计器变量。  
/// </summary> 
///   

private CMaze mymaze;  
private System.Windows.Forms.Button button2;  private System.Windows.Forms.Button btnAbout;  private System.Windows.Forms.Button btnRun;  private System.Windows.Forms.Button btnReset;  private System.Windows.Forms.Panel panel1;  private System.Windows.Forms.Label label1;  private System.Windows.Forms.Label label2;  private System.Windows.Forms.Label label3;  private System.Windows.Forms.Label label4;  private System.Windows.Forms.Label label5;  private System.Windows.Forms.Label label6;  private System.Windows.Forms.Label label7;  private System.Windows.Forms.Label label8;  private System.Windows.Forms.Button button3;  private System.ComponentModel.IContainer components=null;

  
public Form1()  
{   
//   
// Windows 窗体设计器支持所必需的   
//   
InitializeComponent();

   
//   
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码   
//   
bool[,] _mg=new bool[,]{{true,false,false,true,false,false,false},     {true,true,true,true,true,true,true},        {false,false,true,false,true,false,true},      {false,false,true,false,true,false,false},  {false,true,true,false,true,false,false},      {true,true,false,false,true,true,false},       {false,false,false,false,false,true,true}           };   
mymaze
=new CMaze(_mg,new Point(0,0),new Point(6,6));  
}


  
/// <summary>  
/// 清理所有正在使用的资源。  
/// </summary>  

protected override void Dispose( bool disposing )  
{   
if( disposing )   
{    
if (components != null)     
{     components.Dispose();    }   
}
   
base.Dispose( disposing );  
}


  
Windows 窗体设计器生成的代码

  
/// <summary>  
/// 应用程序的主入口点。  
/// </summary>  

[STAThread]  
static void Main()   
{   
Application.Run(
new Form1());  
}


  
private void button1_Click(object sender, System.EventArgs e)  
{   
string msgstr="";   
msgstr
+="迷宫简图:\n";   
msgstr
+=mymaze.ToString();   
msgstr
+="\n";   
msgstr
+="堆栈信息:\n";   
msgstr
+="当前数据总和:"+mymaze.StackCount.ToString()+"\n";   msgstr+="当前所走步数:"+mymaze.StepCount.ToString()+"\n";

   MessageBox.Show(msgstr); 
 }


  
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)  {  
 
//
e.Graphics.DrawRectangle(new Pen(Color.Red),0,0,10,10);   
mymaze.DrawBox(e.Graphics);   
mymaze.DrawPath(e.Graphics);   mymaze.DrawNextPath(e.Graphics);  
}


  
private void Form1_Load(object sender, System.EventArgs e)  
{

  }


  
private void button2_Click(object sender, System.EventArgs e)  
{   
if(mymaze.Step()==1)    
MessageBox.Show(
"已到出口");   
this.Refresh();  
}


  
private void btnRun_Click(object sender, System.EventArgs e)  
{   
mymaze.Run();   
this.Refresh();  
}


  
private void btnReset_Click(object sender, System.EventArgs e)  
{   
mymaze.Reset();   
this.Refresh();  
}


  
private void btnAbout_Click(object sender, System.EventArgs e)  
{   
MessageBox.Show(
"作    者: lovered (GV)\nM S N: lovered_GV@hotmail.com\n完成日期: 04年04月04日");  
}


  
private void button3_Click(object sender, System.EventArgs e)  
{   
mymaze.Reset();   
while(mymaze.Step()!=1)   
{    
this.Refresh();    
Thread.Sleep(
500);   
}
   
MessageBox.Show(
"已到出口");  }


 }

}

posted on 2005-04-17 17:51  北落师门  阅读(341)  评论(0)    收藏  举报