資源簡介
這個是學校布置的作業,本人以為完成的不錯,上傳下以供參考
代碼片段和文件信息
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?
評論
共有 條評論