VB五子棋代码Word文件下载.docx

上传人:b****6 文档编号:20674245 上传时间:2023-01-25 格式:DOCX 页数:15 大小:270.48KB
下载 相关 举报
VB五子棋代码Word文件下载.docx_第1页
第1页 / 共15页
VB五子棋代码Word文件下载.docx_第2页
第2页 / 共15页
VB五子棋代码Word文件下载.docx_第3页
第3页 / 共15页
VB五子棋代码Word文件下载.docx_第4页
第4页 / 共15页
VB五子棋代码Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

VB五子棋代码Word文件下载.docx

《VB五子棋代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB五子棋代码Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

VB五子棋代码Word文件下载.docx

'

单击命令按钮"

退出"

退出

PrivateSubCmdExit_Click()

End

EndSub

PrivateSubCmdStart_Click()

DimiAsInteger

DimmAsInteger

DimnAsInteger

'

绘制棋盘

PicQiPan.Cls

PicQiPan.ForeColor=vbBlack

Fori=1To14

PicQiPan.Line(SubWidth,SubWidth*i)-(SubWidth*14,_

SubWidth*i)

PicQiPan.Line(SubWidth*i,SubWidth)-(SubWidth*i,_

SubWidth*14)

Nexti

棋盘落点信息初始化

Form=0To14

Forn=0To14

DataArray(m,n)=3

Nextn

Nextm

主要标记信息初始化

P2PlayColor=0

MyColor=0

IfSucceed=False

ifStarteasy=False

ifStartnormal=False

ifStarthard=False

Timer2.Enabled=False

Timer3.Enabled=False

Timer4.Enabled=False

FrmMain.Cls

sumtime=-1

简单难度

PrivateSubfileeasy_Click()

ifStarteasy=True

MsgBox"

双方下每步棋的思考时间最多20秒,否则超时清盘"

通过文件"

PrivateSubfileexit_Click()

困难难度

PrivateSubfilehard_Click()

ifStarthard=True

双方下每步棋的思考时间最多5秒,否则超时清盘"

中等难度

PrivateSubfilenormal_Click()

ifStartnormal=True

双方下每步棋的思考时间最多10秒,否则超时清盘"

重新开始"

实现棋盘初始化

PrivateSubfilerestart_Click()

CallCmdStart_Click

PrivateSubForm_Load()

Print

确定表针位置的基本参量

centerx=Pictime.Width/2

centery=Pictime.Height/2

radius=Pictime.Height/2*0.9

Pictime.PSet(centerx,centery)

Pictime.Circle(centerx,centery),radius

棋子落点判断(出界和重子情况)

PrivateSubPicQipan_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,yAsSingle)

Dimx0AsInteger

Dimy0AsInteger

DimjAsInteger

IfX<

SubWidthOrX>

14.5*SubWidthOry<

SubWidthOry>

14.5*SubWidthThen

MsgBox"

超出棋盘界限,请重新下!

"

ExitSub

EndIf

IfAbs(Int(X/SubWidth)-X/SubWidth)<

0.5Then

x0=Int(X/SubWidth)

Else

x0=Int(X/SubWidth)+1

IfAbs(Int(y/SubWidth)-y/SubWidth)<

y0=Int(y/SubWidth)

y0=Int(y/SubWidth)+1

IfDataArray(x0,y0)<

>

3Then

当前位置已经有棋子了,

当前位置已经有棋子了,请重新走!

vbCritical,"

NOTE!

CallDrawPill(x0,y0)'

画棋子

CallRemenberCrossData(x0,y0)'

记录棋子信息

CallWhoWin'

判断谁赢

判断是否开启相应难度计时功能

IfifStarteasy=TrueThen

Timer2.Enabled=True

IfifStartnormal=TrueThen

Timer3.Enabled=True

IfifStarthard=TrueThen

Timer4.Enabled=True

PrivateSubDrawPill(xx0AsInteger,yy0AsInteger)

IfP2PlayColorThen

PicQiPan.ForeColor=vbWhite

DoEvents

PicQiPan.FillColor=vbWhite

PicQiPan.FillStyle=0

MyColor=0

PicQiPan.ForeColor=vbBlack

PicQiPan.FillColor=vbBlack

MyColor=1

P2PlayColor=NotP2PlayColor

PicQiPan.Circle(xx0*SubWidth,yy0*SubWidth),SubWidth*0.5

以下ABC三个事件共同实现下棋的同时听音乐功能

A

PrivateSubDir1_Change()

File1.Path=Dir1.Path

B

PrivateSubDrv_Change()

Dir1.Path=Drv.Drive

C

PrivateSubFile1_Click()

mp3.URL=File1.Path&

"

\"

&

File1.FileName

棋盘皮肤

PrivateSubqipanstylefurA_Click()

PicQiPan.BackColor=&

HC0FFFF

CallCmdStart_Click

PrivateSubqipanstylefurB_Click()

HC0C000

PrivateSubqipanstylefurC_Click()

HE0E0E0

PrivateSubqipanstylefurD_Click()

H8080FF

添加四种背景音乐

PrivateSubstylemusicA_Click()

mp3.URL=App.Path&

music01.mp3"

PrivateSubstylemusicB_Click()

music02.mp3"

PrivateSubstylemusicC_Click()

music03.mp3"

PrivateSubstylemusicD_Click()

music04.mp3"

表针走动Timer1.Enabled=true在属性框中设定

PrivateSubTimer1_Timer()

DimsAsInteger

DimhAsInteger

DimsngLenSAsSingle

DimsngLenMAsSingle

DimsngLenHAsSingle

调试几次并查询VB常用函数,最后确定应该使用Now而不是Time(不过之前使用Time确实可以)

s=Second(Now)

m=Minute(Now)

h=Hour(Now)+m/60

sngLenS=radius*0.8

sngLenM=radius*0.6

sngLenH=radius*0.4

Pictime.Cls

Pictime.Scale(-centerx,centery)-(centerx,-centery)

Pictime.Line(0,0)-(sngLenS*Sin(2*pi*s/60),sngLenS*Cos(2*pi*s/60)),vbGreen

Pictime.Line(0,0)-(sngLenM*Sin(2*pi*m/60),sngLenM*Cos(2*pi*m/60)),vbGreen

Ifh>

12Then

h=h-12

Pictime.Line(0,0)-(sngLenH*Sin(2*pi*h/12),sngLenH*Cos(2*pi*h/12)),vbGreen

Pictime.Circle(0,0),radius*0.9

Fori=1To12

Pictime.Circle(radius*0.9*0.85*Sin(2*pi*i/12),radius*0.9*0.85*Cos(2*pi*i/12)),radius*0.01,vbGreen

判断谁赢了

PrivateSubWhoWin()

Forj=1To14

Fori=1To14

IfDataArray(i,j)=MyColorAndNotIfSucceedThen

If(14-i)>

=4And(14-j)>

=4Then

IfDataArray(i+1,j+1)=MyColorThen

IfDataArray(i+2,j+2)=MyColorThen

IfDataArray(i+3,j+3)=MyColorThen

IfDataArray(i+4,j+4)=MyColorThen

IfSucceed=True

ExitFor

EndIf

Ifi>

4And(14-j)>

IfDataArray(i-1,j+1)=MyColorThen

IfDataArray(i-2,j+2)=MyColorThen

IfDataArray(i-3,j+3)=MyColorThen

IfDataArray(i-4,j+4)=MyColorThen

IfDataArray(i+1,j)=MyColorThen

IfDataArray(i+2,j)=MyColorThen

IfDataArray(i+3,j)=MyColorThen

IfDataArray(i+4,j)=MyColorThen

If(14-j)>

IfDataArray(i,j+1)=MyColorThen

IfDataArray(i,j+2)=MyColorThen

IfDataArray(i,j+3)=MyColorThen

IfDataArray(i,j+4)=MyColorThen

Nexti

Nextj

IfIfSucceedThen

IfNotP2PlayColorThen

Timer2.Enabled=False'

白方赢计时停止

Timer3.Enabled=False

Timer4.Enabled=False

白方胜!

vbOKOnly

CmdStart_Click

Else

黑方赢计时停止

黑方胜!

分别记录黑白棋子的分布

PrivateSubRemenberCrossData(x0_AsInteger,y0_AsInteger)

IfMyColorThen

DataArray(x0_,y0_)=1

DataArray(x0_,y0_)=0

EndSub

简单难度思考时间20秒

PrivateSubTimer2_Timer()

i=1

sumtime=sumtime+i'

计时

Print20-sumtime'

剩余时间提示

Ifsumtime=20Then

IfMyColor=1Then

白方超时计时停止

白棋超时"

黑方超时计时停止

黑棋超时"

中等难度思考时间10秒

PrivateSubTimer3_Timer()

Print10-sumtime'

Ifsumtime=10Then

Timer3.Enabled=False'

困难难度思考时间5秒

PrivateSubTimer4_Timer()

Print5-sumtime'

Ifsumtime=5Then

Timer4.Enabled=False'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1