资源简介
王红梅的算法书中“棋盘覆盖”算法的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# 基于BP算法的贝叶斯网络参数学习
- 基于C#的霍夫变换检测直线算法
- 操作系统课程设计—进程调度算法C
- 肖维勒算法剔除数据
- C#9种预测处理算法
- C#实现的 路由 距离矢量算法
- C# 矩阵算法
- 磨皮滤镜程序DEMO
- C# 道格拉斯线压缩算法 Douglas一Pe
- C#实现字符串RSA加密与解密 算法工程
- 算法设计的螺钉螺母问题
- C# 自动排课系统 算法 源码
- 点,线缓冲区生成算法实现c#)
- AES加密算法C#实现带中文说明
- 页面置换算法LRU模拟c#
- c#时间片轮转算法
- 曼哈顿路径预测算法C#寻路
- 基于C#的五点N次平滑算法
- 旅行商问题 遗传算法 贪婪基因重组
- 蚁群算法c#编程实现
- c#版的SIFT算法
- ECC算法 C#实现代码
- C#水平垂直图像镜像---C#数字图像处理
- 网际校验和算法ICMP、TCP、UDP
- VS2008编写基于遗传算法的C#五子棋游戏
- Des与3Des算法CBC,ECB模式
- 利用C#语言开发K-Means聚类算法
- 矩阵常用算法C#程序
- 粒子群算法求解TSP问题
- 数据结构与算法-C#版
评论
共有 条评论