资源简介
王红梅的算法书中“棋盘覆盖”算法的C#可视化实现 代码可以运行

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace qiPanFuGaiTemp
{
public partial class Form1 : Form
{
private bool calcFlag = false;//棋盘颜色是否已经计算过了
private int i = 1;//棋盘上色的时候用于计数
private int size = 4;//棋盘的边长 默认是4
private int ptx = 1;//特殊方块的x坐标
private int pty = 1;//特殊方块的y坐标
private float unit = 100;//每一个小格子的边长
private int colorCode = 0;
private PointF[] chessboardColor;//从chessboardColor[1]开始 每三个一组 是同一个L ([1][2][3]存储着同一个L的坐标)
private Graphics graphics;
private Brush[] brushes ={ Brushes.Crimson Brushes.ForestGreen Brushes.Chartreuse Brushes.IndianRed Brushes.Aqua Brushes.BlueViolet Brushes.Green Brushes.GreenYellowBrushes.BurlyWoodBrushes.Goldenrod};
private const float CHESSBOARD_SIZE = 512;
public Form1()
{
InitializeComponent();
graphics = this.CreateGraphics();//得到这个窗口的的图像类
textBoxSize.Tag = true;
textBoxX.Tag = true;
textBoxY.Tag = true;
chessboardColor = new PointF[size * size];
chessboardColor[0] = new PointF(11);//第0种颜色
timer1.Enabled = false;
this.buttonPrev.Enabled = false;
this.buttonNext.Enabled = false;
}
private void Form1_Shown(object sender EventArgs e)//初始化form视图
{
drawframe();
}
// 有效参数判断方法:
// 刚开始设定默认值 并且让3个textBox都为true。之后用2个textChange函数分别检测size和 x y
// 一旦输入不符合要求就变化背景色 禁用开关。一旦符合要求 就检测3个是否都合格了 合格就绘制出棋盘框架
// 3个textBox都有数字限定 valided 显示 error data 和 进入若是error data 就置空
private void textBox_KeyPress(object sender KeyPressEventArgs e)//负责3个textbox只能输入数字
{
TextBox lb = (TextBox)sender;
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
{
e.Handled = true;
}
}
private void textBox_MouseClick(object sender MouseEventArgs e)//负责3个textBox后 如果是error data 就置空
{
TextBox tb = (TextBox)sender;
if(tb.Text==“error data“)
tb.Text = ““;
}
private void textBox_Validated(object sender EventArgs e)//只负责3个TextBox 根据 tag 显示error data 和背景色
{
TextBox tb = (TextBox)sender;
if ((bool)tb.Tag == false)
{
tb.Text = “error data“;
tb.BackColor = Color.Fuchsia;
}
}
private void textBoxSize_TextChanged(object sender EventArgs e)//负责当size变为有效数字的时候 判断三个text是否都有效了
{
this.buttonPrev.Enabled = false;
this.buttonNext.Enabled = false;
calcFlag = false;
TextBox tb = (TextBox)sender;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-12 02:00 棋盘覆盖\
文件 1406 2012-05-12 01:27 棋盘覆盖\down2.gif
文件 1428 2012-05-12 01:54 棋盘覆盖\end.gif
文件 1403 2012-05-12 01:28 棋盘覆盖\end2.gif
文件 1438 2012-05-12 01:51 棋盘覆盖\nex.gif
文件 1436 2012-05-12 01:58 棋盘覆盖\pre.gif
文件 1395 2012-05-12 01:29 棋盘覆盖\pre2.gif
目录 0 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\
文件 931 2012-04-08 22:42 棋盘覆盖\qiPanFuGaiTemp.sln
文件 19968 2012-05-20 21:44 棋盘覆盖\qiPanFuGaiTemp.suo
目录 0 2012-05-04 23:09 棋盘覆盖\qiPanFuGaiTemp\bin\
目录 0 2012-04-08 22:58 棋盘覆盖\qiPanFuGaiTemp\bin\Debug\
文件 32768 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\bin\Debug\qiPanFuGaiTemp.exe
文件 32256 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\bin\Debug\qiPanFuGaiTemp.pdb
文件 5632 2005-12-08 14:51 棋盘覆盖\qiPanFuGaiTemp\bin\Debug\qiPanFuGaiTemp.vshost.exe
目录 0 2012-05-04 23:09 棋盘覆盖\qiPanFuGaiTemp\bin\Release\
文件 32768 2012-05-04 23:18 棋盘覆盖\qiPanFuGaiTemp\bin\Release\qiPanFuGaiTemp.exe
文件 30208 2012-05-04 23:18 棋盘覆盖\qiPanFuGaiTemp\bin\Release\qiPanFuGaiTemp.pdb
文件 5632 2005-12-08 14:51 棋盘覆盖\qiPanFuGaiTemp\bin\Release\qiPanFuGaiTemp.vshost.exe
文件 13485 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\Form1.cs
文件 10180 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\Form1.Designer.cs
文件 13067 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\Form1.resx
目录 0 2012-05-04 23:09 棋盘覆盖\qiPanFuGaiTemp\obj\
目录 0 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\
文件 842 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\qiPanFuGaiTemp.csproj.GenerateResource.Cache
文件 32768 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\qiPanFuGaiTemp.exe
文件 5167 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\qiPanFuGaiTemp.Form1.resources
文件 32256 2012-05-20 21:43 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\qiPanFuGaiTemp.pdb
文件 180 2012-04-08 22:58 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\qiPanFuGaiTemp.Properties.Resources.resources
目录 0 2012-04-08 23:16 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\Refactor\
目录 0 2012-04-08 22:42 棋盘覆盖\qiPanFuGaiTemp\obj\Debug\TempPE\
............此处省略16个文件信息
- 上一篇:数字图像处理图像压缩源程序
- 下一篇:c# 基于BP算法的贝叶斯网络参数学习
相关资源
- C#实现的遗传算法类库
- 组合 算法 C# 背包问题
- c#语言实现K短路算法
- C# 视觉处理代码、神经网络和遗传算
- RSA算法实现加、解密
- 四叉树算法(KrigingCal)
- delta机器人运动学算法正向逆向求解
- C#多元线性回归算法
- C#实现封装SPC过程能力工具类ProcessC
- 国密SM4算法 C#
- TIN生成算法实现.zip
- 网络安全LSB算法 采用C# 实现文字的隐
- C#数字图像处理算法典型
- C#数值计算算法编程
- 《C#数值计算算法编程》电子书+随书
- 数据结构与算法C#
- c#四叉树算法实现
- A*逆向路径搜索算法C#代码以及地图文
- 武汉大学 C#数据结构与算法
- C#+ArcEngine面周边点抽稀源码
- 操作系统课设理发师问题,时间片轮
- 图像加密算法与实践
- C#数字图像处理算法典型赵春江随书源
- 数据结构与算法:C#语言描述(中文)
- C#数据结构与算法
- 校园导游图 C# floyd算法
- 数据结构与算法:C#语言描述(中文)
- 基于离散点的构TIN算法C#
- 平面度及平整度算法
- C#面向对象基于winform的扫雷游戏和简
评论
共有 条评论