资源简介
学过数据结构的都知道迷宫是个经典的问题,本程序演示了迷宫的自动生成和自动寻路,图形化的界面,是我当年数据结构的课程设计做的,附有全部的源码和项目文件,正在学习数据结构的同学可以下载来看看。
代码片段和文件信息
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 < y; i++)
for (int j = 0; j < x; 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#阐逸瑜伽会员管理系统
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论