📄 form1.cs
字号:
//窗体,调用...
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 );
}
#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.TabIndex = 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;
// // label4 //
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: 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("已到出口");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -