资源简介
这个是几个同学一起做出来的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个文件信息
- 上一篇:.obj模型读取显示 c#版
- 下一篇:ASP.net博客系统带数据库
相关资源
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
评论
共有 条评论