資源簡(jiǎn)介
一個(gè)漢諾塔動(dòng)態(tài)移動(dòng)的C#項(xiàng)目,VS2010開發(fā)。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Threading;
namespace?Hanoi
{
????public?partial?class?Form1?:?Form
????{
????????int?PlateMargin?=?10;
????????int?MaxPlateWidth?MinPlateWidth?=?50;
????????int?PlateNumber?=?5;
????????int?PlateHeight?MaxPlateHeight?=?30;
????????int?dRadius?dRadiusMax?=?15;//盤子半徑差
????????Label[]?Plate?=?null;
????????Stack[]?stack?=?new?Stack[3];
????????bool?isMoving?=?false;
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????btnStop.Enabled?=?btnReset.Enabled?=?false;
????????????stack[0]?=?new?Stack();
????????????stack[1]?=?new?Stack();
????????????stack[2]?=?new?Stack();
????????????MaxPlateWidth?=?(lblFloor.Width?-?PlateMargin?*?2)?/?3;
????????????lblA.Left?=?(int)(lblFloor.Left?+?PlateMargin?+?1.0?*?MaxPlateWidth?/?2?-?lblA.Width?/?2.0);
????????????lblB.Left?=?(int)(lblFloor.Left?+?PlateMargin?+?3.0?*?MaxPlateWidth?/?2?-?lblB.Width?/?2.0);
????????????lblC.Left?=?(int)(lblFloor.Left?+?PlateMargin?+?5.0?*?MaxPlateWidth?/?2?-?lblA.Width?/?2.0);
????????????CreatePlate();
????????????initRun();
????????}
????????//運(yùn)行前的初始化工作
????????private?void?initRun()
????????{
????????????stack[0].Clear();
????????????stack[1].Clear();
????????????stack[2].Clear();
????????????for?(int?i?=?0;?i?????????????{
????????????????Plate[i].Left?=?lblFloor.Left?+?PlateMargin?+?i?*?dRadius;
????????????????Plate[i].Top?=?lblFloor.Top?-?(PlateHeight?-?1)?*?(i?+?1);
????????????????stack[0].Push(i);
????????????}
????????}
????????//動(dòng)態(tài)創(chuàng)建盤子、設(shè)置其屬性,并顯示在窗體上
????????private?void?CreatePlate()
????????{
????????????PlateHeight?=?lblA.Height?/?PlateNumber;
????????????if?(PlateHeight?>?MaxPlateHeight)?PlateHeight?=?MaxPlateHeight;
????????????dRadius?=?(int)((MaxPlateWidth?-?MinPlateWidth)?/?(PlateNumber?-?1.0)?/?2);
????????????if?(dRadius?>?dRadiusMax)?dRadius?=?dRadiusMax;
????????????if?(Plate?!=?null)
????????????{
????????????????if?(PlateNumber?!=?Plate.Length)
????????????????{
????????????????????Label[]?tmp?=?new?Label[PlateNumber];
????????????????????Array.Copy(Plate?0?tmp?0?Math.Min(Plate.Length?PlateNumber));
????????????????????if?(Plate.Length?????????????????????{
????????????????????????for?(int?i?=?Plate.Length;?i?????????????????????????{
????????????????????????????tmp[i]?=?new?Label();
????????????????????????????this.Controls.Add(tmp[i]);
????????????????????????}
????????????????????}
????????????????????else
????????????????????{
????????????????????????for?(int?i?=?PlateNumber;?i?????????????????????????{
????????????????????????????this.Controls.Remove(Plate[i]);
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????117??2014-12-17?10:35??Hanoi\Hanoi\app.config
?????文件??????11608??2015-01-25?14:01??Hanoi\Hanoi\bin\Debug\Hanoi.vshost.exe
?????文件????????117??2014-12-17?10:35??Hanoi\Hanoi\bin\Debug\Hanoi.vshost.exe.config
?????文件????????490??2010-03-17?22:39??Hanoi\Hanoi\bin\Debug\Hanoi.vshost.exe.manifest
?????文件??????15872??2015-01-18?18:08??Hanoi\Hanoi\bin\Release\Hanoi.exe
?????文件????????117??2014-12-17?10:35??Hanoi\Hanoi\bin\Release\Hanoi.exe.config
?????文件??????28160??2015-01-18?18:08??Hanoi\Hanoi\bin\Release\Hanoi.pdb
?????文件??????11608??2015-01-18?18:07??Hanoi\Hanoi\bin\Release\Hanoi.vshost.exe
?????文件????????117??2014-12-17?10:35??Hanoi\Hanoi\bin\Release\Hanoi.vshost.exe.config
?????文件????????490??2010-03-17?22:39??Hanoi\Hanoi\bin\Release\Hanoi.vshost.exe.manifest
?????文件???????8602??2015-01-25?13:59??Hanoi\Hanoi\Form1.cs
?????文件???????8828??2015-01-25?13:59??Hanoi\Hanoi\Form1.Designer.cs
?????文件???????5817??2015-01-25?13:59??Hanoi\Hanoi\Form1.resx
?????文件???????3741??2014-12-17?10:35??Hanoi\Hanoi\Hanoi.csproj
?????文件???????4440??2014-12-12?08:06??Hanoi\Hanoi\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6025??2015-01-25?14:01??Hanoi\Hanoi\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????4608??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll
?????文件???????6029??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????600??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\GenerateResource-ResGen.read.1.tlog
?????文件????????442??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\GenerateResource-ResGen.write.1.tlog
?????文件????????598??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\Hanoi.csproj.FileListAbsolute.txt
?????文件??????15872??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\Hanoi.exe
?????文件????????180??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\Hanoi.Form1.resources
?????文件??????28160??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\Hanoi.pdb
?????文件????????180??2015-01-18?18:08??Hanoi\Hanoi\obj\x86\Release\Hanoi.Properties.Resources.resources
?????文件???????4608??2014-12-17?10:35??Hanoi\Hanoi\obj\x86\Release\TempPE\Properties.Resources.Designer.cs.dll
?????文件????????486??2014-12-11?20:23??Hanoi\Hanoi\Program.cs
?????文件???????1366??2014-12-11?20:23??Hanoi\Hanoi\Properties\AssemblyInfo.cs
?????文件???????2849??2014-12-17?10:35??Hanoi\Hanoi\Properties\Resources.Designer.cs
?????文件???????5612??2014-12-11?20:23??Hanoi\Hanoi\Properties\Resources.resx
............此處省略19個(gè)文件信息
評(píng)論
共有 條評(píng)論