五子棋讲解 在excel中制作五子棋讲解

五子棋是一种两人对弈的纯策略型棋类游戏,通常双方分别使用黑白两色的棋子;下面是有在excel中制作五子棋讲解,欢迎参阅。

首先在excel表格模式时,画两个单选框将一个按钮,然后参照我的另外一篇百度经验”怎样通过excel计算出九宫格“,双击按钮进入到代码模式。

图中红色宽中主要讲述对棋盘的设置;

图中红色所讲述的是,在表1被激活时,单选框1被选中;

图中红色所讲述的是,若单选框1被选中时,鼠标所选的单元格被赋值为实心圆,赋值后,更换为单选框2被选中;若当单选框2被选中时,鼠标所选的单元格被赋值为空心圆,赋值后,更换为单选框1被选中。到此时,五子棋的下子程序已经完成了,剩余判断胜负的程序了。

我把判断胜负的程序,分为了4部分;

判断竖直胜利部分;

判断水平胜利部分;

判断左倾斜胜利部分;

判断右倾斜胜利部分;

每一部分原理都类似,这里只讲述竖直胜利的情况。

判断竖直胜负的原理:当黑子方走完最后一颗实心黑子时,只要判断以该颗棋子为中心的9颗竖直排列的棋子中,是否有5颗连续为实心黑子,若有,则胜利;

所有程序:

Private Sub CommandButton1_Click()

Range("E5:AD30").ClearContents

With Range("E5:AD30").Font

.Name = "宋体"

.FontStyle = "bold"

.Size = 12

End With

With ActiveSheet.Cells

.ColumnWidth = 2.5

.RowHeight = 17.5

End With

End Sub

Private Sub Worksheet_Activate()

OptionButton1.Value = True

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'五子棋部分

If ActiveCell.Row < 31 And ActiveCell.Row > 4 And ActiveCell.Column < 31 And ActiveCell.Column > 4 Then

If OptionButton1.Value = True And ActiveCell.Value = "" Then

ActiveCell.Value = "●"

OptionButton2.Value = True

ElseIf OptionButton2.Value = True And ActiveCell.Value = "" Then

ActiveCell.Value = "○"

OptionButton1.Value = True

End If

a = 0

'判断竖胜部分

For i = -4 To 4

If Sheet1.Cells(ActiveCell.Row, ActiveCell.Column - i) = ActiveCell.Value Then

a = a + 1

Else

a = 0

End If

If a = 5 Then

If ActiveCell.Value = "●" Then

MsgBox "黑方胜"

Range("E5:AD30").ClearContents

Else

MsgBox "白方胜"

Range("E5:AD30").ClearContents

End If

Exit For

End If

Next

'判断横胜部分

For i = -4 To 4

If Sheet1.Cells(ActiveCell.Row - i, ActiveCell.Column) = ActiveCell.Value Then

a = a + 1

Else

a = 0

End If

If a = 5 Then

If ActiveCell.Value = "●" Then

MsgBox "黑方胜"

Range("E5:AD30").ClearContents

Else

MsgBox "白方胜"

Range("E5:AD30").ClearContents

End If

Exit For

End If

Next

'判断左斜胜部分

For i = -4 To 4

If Sheet1.Cells(ActiveCell.Row - i, ActiveCell.Column - i) = ActiveCell.Value Then

a = a + 1

Else

a = 0

End If

If a = 5 Then

If ActiveCell.Value = "●" Then

MsgBox "黑方胜"

Range("E5:AD30").ClearContents

Else

MsgBox "白方胜"

Range("E5:AD30").ClearContents

End If

Exit For

End If

Next

'判断右斜胜部分

For i = -4 To 4

If Sheet1.Cells(ActiveCell.Row + i, ActiveCell.Column - i) = ActiveCell.Value Then

a = a + 1

Else

a = 0

End If

If a = 5 Then

If ActiveCell.Value = "●" Then

MsgBox "黑方胜"

五子棋讲解 在excel中制作五子棋讲解

Range("E5:AD30").ClearContents

Else

MsgBox "白方胜"

Range("E5:AD30").ClearContents

End If

Exit For

End If

Next

End If

End Sub

  

爱华网本文地址 » http://www.aihuau.com/a/213561/383194970.html

更多阅读

怎样在Word2007文档中制作流程图 word2007流程图

在Word2007文档中,利用自选图形库提供的丰富的流程图形状和连接符可以制作各种用途的流程图,制作步骤如下所述:怎样在Word2007文档中制作流程图——步骤/方法怎样在Word2007文档中制作流程图 1、第1步,打开Word2007文档窗口,切换到“功能

鼠标钩子 详细讲解在C#中如何使用鼠标钩子

详细讲解在C#中如何使用鼠标钩子――简介本文举例介绍如何使用Win32Api创建鼠标钩子。详细讲解在C#中如何使用鼠标钩子――工具/原料Visual Studio(本文使用VS2013,其他版本亦可)。详细讲解在C#中如何使用鼠标钩子――基础知识详细讲

norton ghost 2003 在Norton Ghost 2003中制作Ghost启动软盘

完成Norton Ghost 2003的安装后,用户可以利用“Norton Ghost启动向导”制作一张标准的Ghost启动软盘,操作步骤如下所述。在Norton Ghost 2003中制作Ghost启动软盘――工具/原料Norton Ghost 2003在Norton Ghost 2003中制作Ghost启动软

word2010怎么制作目录 怎样在WORD中制作目录

一篇长的WORD文档中插入一个目录可以很方便我们阅读,本篇经验介绍一下如何在已经写好的文档中制作出目录。怎样在WORD中制作目录――工具/原料word编辑软件需要生成目录的文档怎样在WORD中制作目录――步骤/方法怎样在WORD中制作目

word2007表头斜线制作 怎样在excel2007中制作多斜线表头

我们在制作交叉项目较多的报表时,经常要用到斜线表头。那么怎样制作呢,并且怎样在斜线表头中添加内容呢?制作斜线表头有两种方式,一种只适应于只要一根斜线的表头,一种可以应用于两根斜线以上的表头。下面看我来给大家演示一下这两种方

声明:《五子棋讲解 在excel中制作五子棋讲解》为网友江影沉浮分享!如侵犯到您的合法权益请联系我们删除