• 大小: 1.87MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-31
  • 语言: C#
  • 标签: 界面化  c#  

资源简介

这个是几个同学一起做出来的N皇后问题,是界面化的,很容易让同学理解N皇后的原理。用C#做的。。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using 皇后教学软件;
/*该图形界面的功能总述:
 *  1. 可以接受任意一个皇后的求解
 *  2. 输出皇后解的个数以及皇后解的矩阵表现形式和图解表现形式
 *  3.可以根据解的个数,你可以输入任意一个数(在解的个数之内)然后显示你指定的那个解的图解
 *  4.处理了各种异常,(可以随意输入哈!)包含了异常发生后的提示
 *  5. 鼠标键盘可以共用,可以输入后回车来确定,或则是按按钮执行
 *  6. 水平滚动条与垂直滚动条的应用
 *
 */
namespace 皇后问题
{
    public partial class Form1 : Form
    {
        private int n;//定义一个int型变量用以接受皇后的个数
        private int count=0;//用以接受总共的皇后的解的个数;
        private string stri = null;//记录所有皇后解的字符串,为了显示图形而设定的
        private int numberOfImage;//记录当前的皇后解所对应的图片的索引
        private Image theImage;//要绘图的图片对象 
        private Graphics g; //在图片上绘图的Graphics对象
        public Form1()
        {
            InitializeComponent();
        }

        //求解按钮
        private void button1_Click(object sender EventArgs e)
        {
            
            string str = textBox1.Text;
            if (str != ““)//如果在文本框中已经输入字符
            {
                try//由于字符转化成数字有异常发生,捕获异常
                {
                    n = Int32.Parse(str);
                    Queen queen = new Queen(n);
                    queen.PutQueen(0);
                    if (n == 0 || n == 2 || n == 3)//对应与0、2、3皇后是无解的所以显示无解
                    {
                        richTextBox1.Text = “无解“;
                        theImage = new Bitmap(600 800);//新建一个位图对象
                        g = Graphics.FromImage(theImage);//将位图添加到绘图的对象g中
                        g.Clear(Color.White);//设置背景色为白色,即将图的背景设置成和界面相同的颜色,达到重绘的效果
                        pictureBox1.Image = theImage;//将位图添加到pictureBox中

                    }
                    else//有解的情况
                    {
                        richTextBox1.Text = queen.Str;//显示相应的N皇后的矩阵
                        stri = queen.Str;
                        this.count = queen.Count;//总共的解的个数
                        this.numberOfImage = 1;//当前的皇后解对应的图解的索引为1
                        show(this.numberOfImage);//显示皇后的图解
                        textBox2.Text = this.numberOfImage.ToString();//在一个文本框中显示当前图解的索引
                    }
                }
                catch 
                {
                    MessageBox.Show(“你的输入有误,请重新输入“ “消息框“ MessageBoxButtons.OK MessageBoxIcon.Warning);
                }
            }
            else//如果没有在文本框中没有输入,提示先输入皇后的个数
            {
                MessageBox.Show(“请先输入皇后个数“ “消息框“ MessageBoxButtons.OK MessageBoxIcon.Warning);
            }


        }
        //搜索第n个解所对应的字符串,返回一个字符串
        private string Search(int n)
        {
       
            int n1 = this.stri.IndexOf(String.Format(“第{0}个解为:\n“ n));//求第n个解在字符串中的开头的索引
            int n2 = this.stri.IndexOf(String.Format(“第{0}个解为:\n“ n + 1));//求第n+1个解在字符串中的开头的索引
            if (n2 != -1)
            {//如果没到末尾的,那么求n+1的索引是存在的,即n2 != -1;
                r

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

     文件      70676  2008-07-28 15:17  皇后教学软件\1.jpg

    ..A.SH.      5632  2009-06-25 22:24  皇后教学软件\Thumbs.db

     文件        943  2008-07-28 09:30  皇后教学软件\皇后教学软件.sln

    ..A..H.     32768  2009-06-20 18:08  皇后教学软件\皇后教学软件.suo

     文件      14570  2008-07-29 10:01  皇后教学软件\皇后教学软件\Answers.cs

     文件      13334  2008-07-28 22:30  皇后教学软件\皇后教学软件\Answers.designer.cs

     文件       5814  2008-07-28 22:30  皇后教学软件\皇后教学软件\Answers.resx

     文件      13921  2008-07-30 14:52  皇后教学软件\皇后教学软件\AutoForm1.cs

     文件       7845  2008-07-30 14:43  皇后教学软件\皇后教学软件\AutoForm1.designer.cs

     文件       6181  2008-07-30 13:02  皇后教学软件\皇后教学软件\AutoForm1.resx

     文件      15576  2008-07-30 14:53  皇后教学软件\皇后教学软件\Game.cs

     文件       8627  2008-07-30 13:04  皇后教学软件\皇后教学软件\Game.Designer.cs

     文件       6008  2008-07-30 13:04  皇后教学软件\皇后教学软件\Game.resx

     文件        344  2008-07-28 17:26  皇后教学软件\皇后教学软件\Help.cs

     文件       2414  2008-07-28 16:11  皇后教学软件\皇后教学软件\Help.Designer.cs

     文件       7082  2008-07-28 16:11  皇后教学软件\皇后教学软件\Help.resx

     文件        473  2008-07-28 10:28  皇后教学软件\皇后教学软件\Information.cs

     文件       4218  2008-07-28 10:07  皇后教学软件\皇后教学软件\Information.Designer.cs

     文件       5814  2008-07-28 10:07  皇后教学软件\皇后教学软件\Information.resx

     文件        365  2008-07-28 17:26  皇后教学软件\皇后教学软件\Introduce.cs

     文件       2658  2008-07-28 17:26  皇后教学软件\皇后教学软件\Introduce.designer.cs

     文件       7948  2008-07-28 17:19  皇后教学软件\皇后教学软件\Introduce.resx

     文件       1786  2008-07-28 22:18  皇后教学软件\皇后教学软件\MainForm1.cs

     文件      10376  2008-07-28 22:18  皇后教学软件\皇后教学软件\MainForm1.Designer.cs

     文件    1183028  2008-07-28 22:18  皇后教学软件\皇后教学软件\MainForm1.resx

     文件       1912  2008-07-28 18:53  皇后教学软件\皇后教学软件\mypeag.jpg

     文件        481  2008-07-28 14:31  皇后教学软件\皇后教学软件\Program.cs

     文件       4053  2008-07-28 14:22  皇后教学软件\皇后教学软件\Queen.cs

     文件       6708  2008-07-29 10:40  皇后教学软件\皇后教学软件\皇后教学软件.csproj

     文件        570  2008-07-29 10:40  皇后教学软件\皇后教学软件\皇后教学软件.csproj.user

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

评论

共有 条评论