• 大小: 121KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: C#
  • 标签: 迷宫  数据结构  C#  

资源简介

学过数据结构的都知道迷宫是个经典的问题,本程序演示了迷宫的自动生成和自动寻路,图形化的界面,是我当年数据结构的课程设计做的,附有全部的源码和项目文件,正在学习数据结构的同学可以下载来看看。

资源截图

代码片段和文件信息

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个文件信息

评论

共有 条评论