程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 走迷宮C#版(二)

走迷宮C#版(二)

編輯:.NET實例教程

//窗體,調用... 

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(); 

}

$False$


base.Dispose( disposing ); 


#region Windows 窗體設計器生成的代碼 
/// <summary> 
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改 
/// 此方法的內容。 
/// </summary> 
private void InitializeComponent() 

this.button1 = new System.Windows.Forms.Button(); 
this.button2 = new System.Windows.Forms.Button(); 
this.btnAbout = new System.Windows.Forms.Button(); 
this.btnRun = new System.Windows.Forms.Button(); 
this.btnReset = new System.Windows.Forms.Button(); 
this.panel1 = new System.Windows.Forms.Panel(); 
this.label8 = new System.Windows.Forms.Label(); 
this.label7 = new System.Windows.Forms.Label(); 
this.label6 = new System.Windows.Forms.Label(); 
this.label5 = new System.Windows.Forms.Label(); 
this.label4 = new System.Windows.Forms.Label(); 
this.label3 = new System.Windows.Forms.Label(); 
this.label2 = new System.Windows.Forms.Label(); 
this.label1 = new System.Windows.Forms.Label(); 
this.button3 = new System.Windows.Forms.Button(); 
this.panel1.SuspendLayout(); 
this.SuspendLayout(); 
// 
// button1 
// 
this.button1.Location = new System.Drawing.Point(360, 288); 
this.button1.Name = "button1"; 
this.button1.TabIndex = 0; 
this.button1.Text = "Info"; 
this.button1.Click += new System.EventHandler(this.button1_Click); 
// 
// button2 
// 
this.button2.Location = new System.Drawing.Point(360, 192); 
this.button2.Name = "button2"; 
this.button2.TabIndex = 1; 
this.button2.Text = "Step"; 
this.button2.Click += new System.EventHandler(this.button2_Click); 
// 
// btnAbout 
// 
this.btnAbout.Location = new System.Drawing.Point(360, 320); 
this.btnAbout.Name = "btnAbout"; 
this.btnAbout.TabIndex = 2; 
this.btnAbout.Text = "About"; 
this.btnAbout.Click += new System.EventHandler(this.btnAbout_Click); 
// 
// btnRun 
// 
this.btnRun.Location = new System.Drawing.Point(360, 160); 
this.btnRun.Name = "btnRun"; 
this.btnRun.T

abIndex = 3; 
this.btnRun.Text = "Run"; 
this.btnRun.Click += new System.EventHandler(this.btnRun_Click); 
// 
// btnReset 
// 
this.btnReset.Location = new System.Drawing.Point(360, 256); 
this.btnReset.Name = "btnReset"; 
this.btnReset.TabIndex = 4; 
this.btnReset.Text = "Reset"; 
this.btnReset.Click += new System.EventHandler(this.btnReset_Click); 
// 
// panel1 
// 
this.panel1.Controls.Add(this.label8); 
this.panel1.Controls.Add(this.label7); 
this.panel1.Controls.Add(this.label6); 
this.panel1.Controls.Add(this.label5); 
this.panel1.Controls.Add(this.label4); 
this.panel1.Controls.Add(this.label3); 
this.panel1.Controls.Add(this.label2); 
this.panel1.Controls.Add(this.label1); 
this.panel1.Location = new System.Drawing.Point(360, 8); 
this.panel1.Name = "panel1"; 
this.panel1.Size = new System.Drawing.Size(72, 144); 
this.panel1.TabIndex = 5; 
// 
// label8 
// 
this.label8.Location = new System.Drawing.Point(32, 120); 
this.label8.Name = "label8"; 
this.label8.Size = new System.Drawing.Size(32, 16); 
this.label8.TabIndex = 7; 
this.label8.Text = "牆壁"; 
// 
// label7 
// 
this.label7.BackColor = System.Drawing.Color.Red; 
this.label7.Location = new System.Drawing.Point(8, 112); 
this.label7.Name = "label7"; 
this.label7.Size = new System.Drawing.Size(20, 20); 
this.label7.TabIndex = 6; 
// 
// label6 
// 
this.label6.Location = new System.Drawing.Point(32, 88); 
this.label6.Name = "label6"; 
this.label6.Size = new System.Drawing.Size(32, 16); 
this.label6.TabIndex = 5; 
this.label6.Text = "已走"; 
// 
// label5 
// 
this.label5.BackColor = System.Drawing.Color.Blue; 
this.label5.Location = new System.Drawing.Point(8, 80); 
this.label5.Name = "label5"; 
this.label5.Size = new System.Drawing.Size(20, 20); 
this.label5.TabIndex = 4; 
// 
// la

bel4 
// 
this.label4.Location = new System.Drawing.Point(32, 56); 
this.label4.Name = "label4"; 
this.label4.Size = new System.Drawing.Size(32, 16); 
this.label4.TabIndex = 3; 
this.label4.Text = "可選方向"; 
// 
// label3 
// 
this.label3.BackColor = System.Drawing.Color.Yellow; 
this.label3.Location = new System.Drawing.Point(8, 48); 
this.label3.Name = "label3"; 
this.label3.Size = new System.Drawing.Size(20, 20); 
this.label3.TabIndex = 2; 
// 
// label2 
// 
this.label2.Location = new System.Drawing.Point(32, 24); 
this.label2.Name = "label2"; 
this.label2.Size = new System.Drawing.Size(32, 16); 
this.label2.TabIndex = 1; 
this.label2.Text = "通路"; 
// 
// label1 
// 
this.label1.BackColor = System.Drawing.Color.Green; 
this.label1.Location = new System.Drawing.Point(8, 16); 
this.label1.Name = "label1"; 
this.label1.Size = new System.Drawing.Size(20, 20); 
this.label1.TabIndex = 0; 
// 
// button3 
// 
this.button3.Location = new System.Drawing.Point(360, 224); 
this.button3.Name = "button3"; 
this.button3.TabIndex = 6; 
this.button3.Text = "Auto"; 
this.button3.Click += new System.EventHandler(this.button3_Click); 
// 
// Form1 
// 
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); 
this.ClIEntSize = new System.Drawing.Size(442, 348); 
this.Controls.Add(this.button3); 
this.Controls.Add(this.panel1); 
this.Controls.Add(this.btnReset); 
this.Controls.Add(this.btnRun); 
this.Controls.Add(this.btnAbout); 
this.Controls.Add(this.button2); 
this.Controls.Add(this.button1); 
this.MaximizeBox = false; 
this.Name = "Form1"; 
this.Text = "Maze"; 
this.Load += new System.EventHandler(this.Form1_Load); 
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); 
this.panel1.ResumeLayout(false); 
this.ResumeLayout(false); 

}


#endregion 

/// <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: [email protected]\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("已到出口"); 




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved