資源簡介
學過數據結構的都知道迷宮是個經典的問題,本程序演示了迷宮的自動生成和自動尋路,圖形化的界面,是我當年數據結構的課程設計做的,附有全部的源碼和項目文件,正在學習數據結構的同學可以下載來看看。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Diagnostics;
using?System.Drawing;
using?System.IO;
using?System.Linq;
using?System.Text;
using?System.Threading;
using?System.Windows.Forms;
namespace?數據結構課程設計_迷宮的生成和路由
{
????public?enum?Direction?{up=0right=1down=2left=3}
????public?partial?class?Form迷宮?:?Form
????{
????????Thread?th;
????????List?mg=new?List();//存儲迷宮數據,以string方式
????????int?x?y;//迷宮的寬和高
????????int?speed?=?20;
????????Pen?wallpen?=?new?Pen(Color.Black);
????????Pen?backpen?=?new?Pen(Color.DarkGray);
????????public?Form迷宮()
????????{
????????????InitializeComponent();
????????}
????????private?void?readin()//讀入迷宮數據
????????{
????????????mg.Clear();
????????????panel1.Visible?=?false;
????????????try
????????????{
????????????????if?(openFileDialog1.ShowDialog()?==?DialogResult.OK)
????????????????{
????????????????????FileStream?fs?=?new?FileStream(openFileDialog1.FileName?FileMode.Open);
????????????????????StreamReader?sr?=?new?StreamReader(fs);
????????????????????while?(!sr.EndOfStream)
????????????????????????mg.Add(sr.ReadLine());
????????????????????fs.Close();
????????????????}
????????????}
????????????catch?{?MessageBox.Show(“數據有誤,請檢查后再試!“);?}
????????}
????????private?void?button_create_Click(object?sender?EventArgs?e)//根據迷宮數據生成迷宮
????????{
????????????readin();
????????????try
????????????{
????????????????x?=?mg[0].Length;
????????????????y?=?mg.Count;
????????????????panel1.Visible?=?true;
????????????????panel1.Width?=?x?*?10;
????????????????panel1.Height?=?y?*?10;
????????????????this.Height?=?35?+?panel1.Height;
????????????????this.Width?=?285?+?panel1.Width;
????????????????Graphics?g?=?panel1.CreateGraphics();
????????????????g.DrawRectangle(Pens.Black?0?0?panel1.Width?panel1.Height);
????????????????g.FillRectangle(backpen.Brush?0?0?panel1.Width?panel1.Height);
????????????????for?(int?i?=?0;?i?????????????????????for?(int?j?=?0;?j?????????????????????????if?(mg[i][j]?==?‘0‘)?g.FillRectangle(wallpen.Brush?j?*?10?i?*?10?10?10);
????????????}
????????????catch?{?MessageBox.Show(“數據有誤,請檢查后再試!“);?}
????????}
????????private?Point?Next_way(Point?ptDirection?dir)//求出下一個點
????????{
????????????Point?temp=new?Point();
????????????switch?(dir)
????????????{
????????????????case?Direction.up:?temp.X?=?pt.X;?temp.Y?=?pt.Y?-?10;?break;
????????????????case?Direction.right:?temp.X?=?pt.X?+?10;?temp.Y?=?pt.Y;?break;
????????????????case?Direction.down:?temp.X?=?pt.X;?temp.Y?=?pt.Y?+?10;?break;
????????????????case?Direction.left:?temp.X?=?pt.X?-?10;?temp.Y?=?pt.Y;?break;
????????????}
????????????return?temp;
????????}
????????private?void?draw_path(Graphics?gPoint?pt?Direction?dir)//標示深度搜索的路徑
????????{
????????????Pen?arrowpen?=?new?Pen(Color.White);
????????????arrowpen.EndCap?=?System.Drawing.Drawing2D.LineCap.Arro
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2600??2011-01-22?16:08??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\可通迷宮數據.txt
?????文件???????1775??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.application
?????文件??????30720??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.exe
?????文件???????4259??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.exe.manifest
?????文件??????48640??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.pdb
?????文件???????1775??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.vshost.application
?????文件??????14328??2011-02-18?10:15??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\數據結構課程設計-迷宮的生成和路由.vshost.exe
?????文件???????2600??2011-05-21?19:58??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\bin\Release\隨機迷宮數據.txt
?????文件??????17213??2011-01-08?17:01??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form1.cs
?????文件??????21877??2011-01-08?17:01??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form1.Designer.cs
?????文件???????8333??2011-01-08?17:01??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form1.resx
?????文件???????3828??2011-01-08?16:55??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form2.cs
?????文件???????5743??2011-01-08?15:07??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form2.Designer.cs
?????文件???????5814??2011-01-08?15:07??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Form2.resx
?????文件???????1078??2011-01-04?10:01??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\Icon1.ico
?????文件???????4608??2011-01-04?10:47??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
?????文件???????1775??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.application
?????文件???????3991??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.csproj.FileListAbsolute.txt
?????文件????????944??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.csproj.GenerateResource.Cache
?????文件??????29696??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.exe
?????文件???????4152??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.exe.manifest
?????文件??????46592??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計-迷宮的生成和路由.pdb
?????文件????????180??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計_迷宮的生成和路由.Form2.resources
?????文件???????1644??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計_迷宮的生成和路由.Form迷宮.resources
?????文件???????1634??2011-01-04?10:51??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Debug\數據結構課程設計_迷宮的生成和路由.Properties.Resources.resources
?????文件???????4608??2011-01-04?10:52??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Release\TempPE\Properties.Resources.Designer.cs.dll
?????文件???????1775??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Release\數據結構課程設計-迷宮的生成和路由.application
?????文件???????2446??2011-02-18?10:15??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Release\數據結構課程設計-迷宮的生成和路由.csproj.FileListAbsolute.txt
?????文件????????944??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Release\數據結構課程設計-迷宮的生成和路由.csproj.GenerateResource.Cache
?????文件??????30720??2011-01-11?21:26??數據結構課程設計-迷宮的演示\數據結構課程設計-迷宮的生成和路由\obj\Release\數據結構課程設計-迷宮的生成和路由.exe
............此處省略34個文件信息
- 上一篇:FTP客戶端C#實現
- 下一篇:C#闡逸瑜伽會員管理系統
評論
共有 條評論