资源简介
一个简单的五子棋游戏,具有判定输赢、悔棋、重新开始等功能。简单的demo,可以自己完善,欢迎提BUG! (¦3[▓▓]
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GoBang
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
init();
}
//-1没有值,1为黑色,0为白色,x为行,y为列
//当前该谁下棋,true为黑色,false为白色
bool NowStatu = false;
//将当前状态转为数字
int StatuToNum = 1;
//棋子总数
int TotalPiece = 0;
//五子棋棋盘值
int[] GoBang = new int[15 15];
int borderx = 15 bordery = 15;
//判断游戏是否结束
bool GameIsOver = false;
//记录每一步
List step = new List();
private void init()
{
//初始化五子棋盘值
for(int i = 0; i < borderx; i++)
{
for(int j = 0; j < bordery; j++)
{
GoBang[i j] = -1;
}
}
if(TotalPiece > 0)
{
//清除控件
pictureBox1.Controls.Clear();
TotalPiece = 0;
}
//游戏重新开始
GameIsOver = false;
//步数归零
step.Clear();
label2.Text = TotalPiece.ToString();
}
private void pictureBox1_MouseClick(object sender MouseEventArgs e)
{
if (e.Location.X >= 14 && e.Location.X <= 521 && e.Location.Y >= 14 && e.Location.Y <= 521 && (!GameIsOver))
{
//14为第一个点位置-半间隔
//17为半间隔 34为间隔
//31为第一个点位置
int gradex = (e.Location.Y - 14) / 17 / 2;
int gradey = (e.Location.X - 14) / 17 / 2;
int locationx = gradex * 34 + 31;
int locationy = gradey * 34 + 31;
if(GoBang[gradex gradey] == -1)
{
NowStatu = !NowStatu;
if (NowStatu)
{
PictureBox piece = new PictureBox();
piece.Name = “piece“ + TotalPiece;
piece.Size = new Size(30 30);
piece.Location = new Point(locationy - 15 locationx - 15);
Image img = new Bitmap(“../../Img/black.png“);
piece.BackgroundImage = img;
piece.BackgroundImageLayout = ImageLayout.Stretch;
pictureBox1.Controls.Add(piece);
GoBang[gradex gradey] = 1;
int[] temp = new int[2];
temp[0] = gradex;
temp[1] = gradey;
step.Add(temp);
}
else
{
PictureBox piece = new PictureBox();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-14 09:57 GoBang\
目录 0 2018-03-14 21:30 GoBang\GoBang\
文件 987 2018-03-14 09:57 GoBang\GoBang.sln
文件 35840 2018-03-15 00:20 GoBang\GoBang.v12.suo
目录 0 2018-03-14 09:57 GoBang\GoBang\bin\
目录 0 2018-03-14 10:02 GoBang\GoBang\bin\Debug\
文件 174080 2018-03-14 21:30 GoBang\GoBang\bin\Debug\GoBang.exe
文件 32256 2018-03-14 21:30 GoBang\GoBang\bin\Debug\GoBang.pdb
文件 24216 2018-03-15 00:20 GoBang\GoBang\bin\Debug\GoBang.vshost.exe
文件 490 2017-09-29 21:43 GoBang\GoBang\bin\Debug\GoBang.vshost.exe.manifest
文件 13080 2018-03-14 21:30 GoBang\GoBang\Form1.cs
文件 7180 2018-03-14 21:02 GoBang\GoBang\Form1.Designer.cs
文件 245231 2018-03-14 21:02 GoBang\GoBang\Form1.resx
文件 3920 2018-03-14 21:19 GoBang\GoBang\GoBang.csproj
目录 0 2018-03-14 21:19 GoBang\GoBang\Img\
文件 130234 2018-03-14 10:31 GoBang\GoBang\Img\ba
文件 29235 2018-03-14 10:31 GoBang\GoBang\Img\black.png
文件 7250 2018-03-14 21:19 GoBang\GoBang\Img\mark1.png
文件 27690 2018-03-14 10:31 GoBang\GoBang\Img\white.png
目录 0 2018-03-14 09:57 GoBang\GoBang\obj\
目录 0 2018-03-14 23:51 GoBang\GoBang\obj\Debug\
文件 1453 2018-03-14 23:51 GoBang\GoBang\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7048 2018-03-14 21:19 GoBang\GoBang\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 602 2018-03-15 00:20 GoBang\GoBang\obj\Debug\GoBang.csproj.FileListAbsolute.txt
文件 977 2018-03-14 21:02 GoBang\GoBang\obj\Debug\GoBang.csproj.GenerateResource.Cache
文件 2211 2018-03-14 10:02 GoBang\GoBang\obj\Debug\GoBang.csprojResolveAssemblyReference.cache
文件 174080 2018-03-14 21:30 GoBang\GoBang\obj\Debug\GoBang.exe
文件 160004 2018-03-14 21:19 GoBang\GoBang\obj\Debug\GoBang.Form1.resources
文件 32256 2018-03-14 21:30 GoBang\GoBang\obj\Debug\GoBang.pdb
文件 180 2018-03-14 21:19 GoBang\GoBang\obj\Debug\GoBang.Properties.Resources.resources
目录 0 2018-03-14 09:57 GoBang\GoBang\obj\Debug\TempPE\
............此处省略7个文件信息
- 上一篇:Wallis滤波器
- 下一篇:C#数组的随机排序源码
评论
共有 条评论