资源简介
这个是学校布置的作业,本人以为完成的不错,上传下以供参考
代码片段和文件信息
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 MyGobang
{
public partial class Form1 : Form
{
private Point lastMovePoint = new Point(-1 -1);//上一步棋子的坐标
private int[] virtualGobangBoard = new int[15 15];//虚拟棋盘
private PictureBox[] chessPicutureBox = new PictureBox[15 15];//棋子的图片
private int[ ] ValueTable = new int[15 15 9];//临时棋型表
private int[ ] LastValueTable = new int[15 15 5];//最终棋型表
private const int white = 1;
private const int black = -1;
private const int noChess = 0;//无棋子的空格
private int playerChessColor = black;
private Point MVP = new Point(-1 -1);//最有价值点
public Form1()
{
InitializeComponent();
InitializeGobangBoard();
GobangGroupBox.Paint += new PaintEventHandler(GobangGroupBox_Paint);
// GobangGroupBox.MouseMove += new MouseEventHandler(GobangGroupBox_MouseMove);
GobangGroupBox.MouseClick += new MouseEventHandler(GobangGroupBox_MouseClick);
}
private void InitializeGobangBoard()//初始化棋盘
{
int i j;
GobangGroupBox.Paint += new PaintEventHandler(GobangGroupBox_Paint);
for (i = 0; i < 15; i++)
for (j = 0; j < 15; j++)
{
chessPicutureBox[i j] = new PictureBox();//实例化数组之后也要实例化数组中的每一个成员
chessPicutureBox[i j].BackColor = Color.Transparent;
chessPicutureBox[i j].Size = new Size(40 40);
chessPicutureBox[i j].Location = new Point(10 + 40 * i 10 + 40 * j);
chessPicutureBox[i j].Visible = false;
chessPicutureBox[i j].SizeMode = PictureBoxSizeMode.CenterImage;
GobangGroupBox.Controls.Add(chessPicutureBox[i j]);//加棋格
}
}
private void GobangGroupBox_Paint(object sender PaintEventArgs e)//绘制棋盘
{
int i;
Graphics gr = e.Graphics;
Pen myPen = new Pen(Color.Black 2);
SolidBrush sb = new SolidBrush(Color.Red);//单色画笔用于填充
SolidBrush whiteBrush = new SolidBrush(Color.White);
for (i = 0; i < 15; i++)
{
gr.DrawLine(myPen 30 + i * 40 30 30 + i * 40 590);//画横线
gr.DrawLine(myPen 30 30 + i * 40 590 30 + i * 40);//画竖线
}
gr.FillEllipse(sb 146 146 8 8);//画小红点
gr.FillEllipse(sb 466 146 8 8);
gr.FillEllipse(sb 466 466 8 8);
gr.FillEllipse(sb 146 466 8 8);
gr.FillEllipse(sb 306 306 8 8);
}
//棋型表,包括各种棋型的分值
//H指活棋,d指防守,C指冲棋。比如dH3表示对手的“活3”,C4表示己方的“冲4”
private enum pattern
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- WPF翻页照片特效浏览源代码
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
评论
共有 条评论