• 大小: 243KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-10-18
  • 语言: C#
  • 标签: N皇后  八皇后  算法  

资源简介

用C#做的N皇后,算法简单,默认是八皇后,能够查看每一种解法的情况,用画图的形式表现,界面上用了皮肤控件,感觉还算不错。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace MyQueen
{
    public partial class QueensUI : Form
    {
        private Queens _queens;//存储皇后问题的解
        private int _width;//棋盘每个格子的宽度
        private int _current = -1;//当前显示的解的下标
        private int _total = 1;
        private MemoryStream memoryStream;
        

        private double _margin = 0.2;//皇后位置和棋盘格子之间的空隙比例


        private void QueensUI_Load(object sender EventArgs e)
        {
            this.Former.Enabled = false;
            this.Next.Enabled = false;
            this.FIND.Enabled = false;
            this.btnFIND.Enabled = false;
            SetSkinFile(Properties.Resources.MP10);
            
        }

        public QueensUI()
        {
            InitializeComponent();
        }

        private void Compute_Click(object sender EventArgs e)
        {
            //得到用户输入的维度
            String numstring = NUM.Text.Trim();
            //输入为空
            if (String.IsNullOrEmpty(numstring))
            {
                MessageBox.Show(“请输入皇后的数目!“);
                return;
            }
            //转换失败,输入的不是一个整数
            int num;
            if (!Int32.TryParse(numstring out num))
            {
                MessageBox.Show(“输入不正确!“);
                return;
            }
            //输入的整数小于0
            if (num <= 0)
            {
                MessageBox.Show(“输入不正确!“);
                return;
            }

            string message = “所需时间较长,请耐心等候!“;
            string caption = “提示“;
            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult result;

            if (num > 12)
            {
                result = MessageBox.Show(message caption buttons);
                if (result == DialogResult.No)
                    return;
            }
            //输出话所有解
            _queens = new Queens(num);
            //计算棋盘格子的宽度
            _width = (PANEL.Width - 20) / _queens.Dimension;
            //显示解的数量
            TOTAL.Text = _queens.GetCount().ToString() + “种“;
            _total = _queens.GetCount();
            //绘画棋盘和解
            Display(0);

            this.Former.Enabled = true;
            this.Next.Enabled = true;
            this.FIND.Enabled = true;
            this.btnFIND.Enabled = true;
        }

        private void Former_Click(object sender EventArgs e)
        {
            //调整当前解的下标
            _current = ((_current - 1) + _queens.GetCount()) % _queens.GetCount();
            //重新绘画当前解
            Display(_current);
        }

        private void Next_Click(object sender EventArgs e)
        {
            //调整当前解的下标
            _current = (_current + 1) % _queens.GetCount();
            //重新绘画当前解
            Display(_current);
        }

        p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        910  2009-01-15 19:32  MyQueen.sln

     文件     516096  2006-08-18 11:50  MyQueen\bin\Debug\IrisSkin2.dll

     文件      40960  2010-05-28 06:31  MyQueen\bin\Debug\MyQueen.exe

     文件      40448  2010-05-28 06:31  MyQueen\bin\Debug\MyQueen.pdb

     文件       5632  2005-11-11 22:25  MyQueen\bin\Debug\MyQueen.vshost.exe

     文件      24576  2009-01-15 20:26  MyQueen\bin\Release\MyQueen.exe

     文件      28160  2009-01-15 20:26  MyQueen\bin\Release\MyQueen.pdb

     文件       6823  2010-05-28 05:35  MyQueen\Form1.cs

     文件       8779  2010-05-28 05:35  MyQueen\Form1.Designer.cs

     文件       6204  2010-05-28 05:35  MyQueen\Form1.resx

     文件       3586  2010-05-28 05:36  MyQueen\MyQueen.csproj

     文件        966  2010-05-28 05:35  MyQueen\obj\Debug\MyQueen.csproj.GenerateResource.Cache

     文件      40960  2010-05-28 06:31  MyQueen\obj\Debug\MyQueen.exe

     文件      40448  2010-05-28 06:31  MyQueen\obj\Debug\MyQueen.pdb

     文件      16105  2010-05-28 05:32  MyQueen\obj\Debug\MyQueen.Properties.Resources.resources

     文件        180  2010-05-28 05:35  MyQueen\obj\Debug\MyQueen.QueensUI.resources

     文件       5758  2010-05-28 05:30  MyQueen\obj\Debug\ResolveAssemblyReference.cache

     文件       4608  2010-05-28 05:32  MyQueen\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件       4608  2010-05-28 05:29  MyQueen\obj\Debug\TempPE\Resource1.Designer.cs.dll

     文件        558  2009-01-15 20:26  MyQueen\obj\MyQueen.csproj.FileList.txt

     文件       2437  2010-05-28 06:47  MyQueen\obj\MyQueen.csproj.FileListAbsolute.txt

     文件        842  2009-01-15 20:26  MyQueen\obj\Release\MyQueen.csproj.GenerateResource.Cache

     文件      24576  2009-01-15 20:26  MyQueen\obj\Release\MyQueen.exe

     文件      28160  2009-01-15 20:26  MyQueen\obj\Release\MyQueen.pdb

     文件        180  2009-01-15 20:26  MyQueen\obj\Release\MyQueen.Properties.Resources.resources

     文件        180  2009-01-15 20:26  MyQueen\obj\Release\MyQueen.QueensUI.resources

     文件        469  2009-01-15 19:43  MyQueen\Program.cs

     文件       1172  2009-01-15 19:32  MyQueen\Properties\AssemblyInfo.cs

     文件       3055  2010-05-28 05:32  MyQueen\Properties\Resources.Designer.cs

     文件       6181  2010-05-28 05:32  MyQueen\Properties\Resources.resx

............此处省略18个文件信息

评论

共有 条评论