表格怎么制作五子棋

您好方法

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

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

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

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

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

判断竖直胜利部分;

判断水平胜利部分;

判断左倾斜胜利部分;

判断右倾斜胜利部分;

如何在excel中制作五子棋!

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

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

如何在excel中制作五子棋!

7

所有程序:

PrivateSubCommandButton1_Click()

Range(E5:AD30).ClearContents

WithRange(E5:AD30).Font

.Name=宋体

.FontStyle=bold

.Size=12

EndWith

WithActiveSheet.Cells

.ColumnWidth=2.5

.RowHeight=17.5

EndWith

EndSub

PrivateSubWorksheet_Activate()

OptionButton1.Value=True

EndSub

PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)

'五子棋部分

IfActiveCell.Row4AndActiveCell.Column4Then

IfOptionButton1.Value=TrueAndActiveCell.Value=Then

ActiveCell.Value=●

OptionButton2.Value=True

ElseIfOptionButton2.Value=TrueAndActiveCell.Value=Then

ActiveCell.Value=○

OptionButton1.Value=True

EndIf

a=0

'判断竖胜部分

Fori=-4To4

IfSheet1.Cells(ActiveCell.Row,ActiveCell.Column-i)=ActiveCell.ValueThen

a=a+1

Else

a=0

EndIf

Ifa=5Then

IfActiveCell.Value=●Then

MsgBox黑方胜

Range(E5:AD30).ClearContents

Else

MsgBox白方胜

Range(E5:AD30).ClearContents

EndIf

ExitFor

EndIf

Next

'判断横胜部分

Fori=-4To4

IfSheet1.Cells(ActiveCell.Row-i,ActiveCell.Column)=ActiveCell.ValueThen

a=a+1

Else

a=0

EndIf

Ifa=5Then

IfActiveCell.Value=●Then

MsgBox黑方胜

Range(E5:AD30).ClearContents

Else

MsgBox白方胜

Range(E5:AD30).ClearContents

EndIf

ExitFor

EndIf

Next

'判断左斜胜部分

Fori=-4To4

IfSheet1.Cells(ActiveCell.Row-i,ActiveCell.Column-i)=ActiveCell.ValueThen

a=a+1

Else

a=0

EndIf

Ifa=5Then

IfActiveCell.Value=●Then

MsgBox黑方胜

Range(E5:AD30).ClearContents

Else

MsgBox白方胜

Range(E5:AD30).ClearContents

EndIf

ExitFor

EndIf

Next

'判断右斜胜部分

Fori=-4To4

IfSheet1.Cells(ActiveCell.Row+i,ActiveCell.Column-i)=ActiveCell.ValueThen

a=a+1

Else

a=0

EndIf

Ifa=5Then

IfActiveCell.Value=●Then

MsgBox黑方胜

Range(E5:AD30).ClearContents

Else

MsgBox白方胜

Range(E5:AD30).ClearContents

EndIf

ExitFor

EndIf

Next

EndIf

EndSub

免责声明:本站发布的游戏攻略(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!