飞行棋playTNT,C#实现飞行棋
最后更新 :2022.07.30 08:37
提起飞行棋playTNT,大家都知道,有人问C#实现飞行棋,另外,还有人想问飞行棋play是什么,你知道这是怎么回事?其实playchess是什么意思,下面就一起来看看C#实现飞行棋,希望能够帮助到大家!
飞行棋playTNT

1、C#实现飞行棋
‘五子棋程序人机对战版本
‘需要2个Label控件2个CommandButton控件
PrivateDeclareFunctionSetWindowRgnLib””(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong飞行棋play贺峻霖。
PrivateDeclareFunctionCreateRoundRectRgnLib””(,,,,,)AsLong
‘DimPlayStep()AsString’记录棋谱的数组飞行棋play时代少年团七人。
‘DimAsString
PrivateConstBoxLAsSingle=50,BoxTAsSingle=50,BoxWAsSingle=25,BoxNAsInteger=18
DimTable()AsLong’棋盘(0-BoxN,0-BoxN)0-空1-黑子2-白子
DimPsCore()AsLong’定义当前玩家桌面空格的分数all霖车mono飞行棋。
DimCsCore()AsLong’定义当前电脑桌面空格的分数TNT全员×你猛车河马的秘密。
DimpWin()AsBoolean’定义玩家的获胜组合
DimcWin()AsBoolean’定义电脑的获胜组合
DimpFlag()AsBoolean’定义玩家的获胜组合标志
DimcFlag()AsBoolean’定义电脑的获胜组合标志飞行棋play时代少年团writeas。
DimThePlayFlagAsBoolean’定义游戏有效标志男男情侣飞行棋棋盘的图片。
PrivateSubCommand1_Click()
IfNotThePlayFlagThenCallInitPlayEnvironment:ExitSub
IfMsgBox(“本局还没有下完,是否重新开始?(Y/N)”,vbYesNo)=vbNoThenExitSub严浩翔自己做扩张。
CallInitPlayEnvironmentM任务表飞行棋。
EndSub
PrivateSubCommand2_Click()EndSub飞行棋all祺。
PrivateSubForm_Load()
DimiAsLong,lwAsLong,lhAsLong
‘=”黑方行00列00″
Me.Width=:Me.Height=祺鑫浴室镜子。
‘Me.Caption=”五子棋-人机对战”:Me.Show严浩翔给贺峻霖塞玩具。
lw=Me.Width\Screen.TwipsPerPixelX:lh=Me.Height\Screen.TwipsPerPixelY严浩翔刘耀文严**扩张。
SetWindowRgnMe.hWnd,CreateRoundRectRgn(0,0,lw,lh,60,60),True
WithLabel1
.Alignment=vbCenter:.FontSize=12:.FontBold=True
.ForeColor=vbRed:.BackStyle=0:.AutoSize=True:.Move,
EndWith
Label2.AutoSize=True:Label2.WordWrap=True
Label2.BackStyle=0:Label2.Move,,河马的秘密河飞行棋。
Command1.Move,,,:Command1.Caption=”再来一局”
Command2.Move,,,:Command2.Caption=””TNT国王游戏车。
CallDrawChessBoard:Me.FillStyle=0:CallInitPlayEnvironment
EndSub
PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)EndSub
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
DimiRowAsLong,iColAsLong,iAsLong,kAsLong,tAsString
IfNotThePlayFlagThenExitSub
IfButton=vbLeftButtonThen’左键下棋
iRow=-1:iCol=-1祺鑫文轩翔霖三受玩游戏。
Fori=0ToBoxN’鼠标必须落在交叉点半径10以内若是则给出行列号
If(Y+10)>(BoxT+i*BoxW)And(Y-10)<=(BoxT+i*BoxW)TheniRow=i
If(X+10)>(BoxL+i*BoxW)And(X-10)<=(BoxL+i*BoxW)TheniCol=i
Next
If(iRow=-1)Or(iCol=-1)ThenBeep:ExitSub
IfTable(iCol,iRow)>0ThenExitSub贺峻霖给刘耀**扩张。
Table(iCol,iRow)=2:Label1.Caption=”下一步黑方”
Me.FillColor=vbWhite:Me.Circle(iCol*BoxW+BoxT,iRow*BoxW+BoxL),8
Fori=0ToUBound(cWin,3)
IfcWin(iCol,iRow,i)=TrueThencFlag(i)=False
Next
CallCheckWin:CallDianNao’检查当前玩家是否获胜调用电脑算法
EndIf
EndSub
PublicSubInitPlayEnvironment()刘耀文贺峻霖囊袋。
‘*****************************************************************************
‘模块名称:InitPlayEnvironment[初始化过程]’描述:1.设置背景音乐。2.设置游戏状态有效。
‘3.初始化游戏状态标签。4.直接指定电脑的**步走法。
‘5.初始化基本得分桌面。6.电脑和玩家获胜标志初始化。
‘7.初始化所有获胜组合。8.重新设定玩家的获胜标志。
‘*****************************************************************************all祺多人运动。
DimiAsLong,jAsLong,mAsLong,nAsLong
ThePlayFlag=True:Label1.Caption=”下一步白方”:Label2.Caption=””情侣飞行棋游戏。
Me.FillColor=vbBlack:Me.FillStyle=0:Me.AutoRedraw=True
Me.Cls:Me.Circle(9*BoxW+BoxL,9*BoxW+BoxT),8
ReDimTable(0ToBoxN,0ToBoxN)AsLong
ReDimpFlag(NumsWin(BoxN+1)-1)AsBoole****l祺六个一起上马嘉祺。
ReDimcFlag(UBound(pFlag))AsBoolean
ReDimPsCore(BoxN,BoxN)AsLong,CsCore(BoxN,BoxN)AsLong
ReDimpWin(BoxN,BoxN,UBound(pFlag))AsBoolean刘耀文往马嘉祺里塞td。
ReDimcWin(BoxN,BoxN,UBound(pFlag))AsBoolean
Fori=0ToUBound(pFlag):pFlag(i)=True:cFlag(i)=True:Next时代少年团乱炖飞行棋。
Table(9,9)=1’假定电脑先手并下了(9,9)位将其值设为1飞行棋all鑫。
‘********初始化获胜组合****************************************河马的秘密河翔霖飞行棋。
Fori=0ToBoxN:Forj=0ToBoxN-4
Form=0To4
pWin(j+m,i,n)=True:cWin(j+m,i,n)=True
Next
n=n+1
Next:Next
Fori=0ToBoxN:Forj=0ToBoxN-4
Form=0To4
pWin(i,j+m,n)=True:cWin(i,j+m,n)=True
Next
n=n+1
Next:Next
Fori=0ToBoxN-4:Forj=0ToBoxN-4
Form=0To4
pWin(j+m,i+m,n)=True:cWin(j+m,i+m,n)=True
Next
n=n+1
Next:Next
Fori=0ToBoxN-4:Forj=-1
Form=0To4
pWin(j-m,i+m,n)=True:cWin(j-m,i+m,n)=True
Next
n=n+1
Next:Next
‘********初始化获胜组合结束*************************************
Fori=0ToUBound(pWin,3)’由于电脑已下了(9,9)位所以需要重新设定玩家的获胜标志
IfpWin(9,9,i)=TrueThenpFlag(i)=False
Next
EndSub
PublicFunctionDrawChessBoard()AsLong
‘容器的(BoxL,BoxT)为左上角坐标画一个BoxN*BoxN,每格边长为BoxW象素的棋盘
DimiAsLong,jAsLong,cxAsLong,cyAsLong
Me.ScaleMode=3:Me.FillStyle=1:Me.AutoRedraw=True:Me.Cls
Fori=0ToBoxN’画棋盘
Me.Line(BoxL+i*BoxW,BoxT)-(BoxL+i*BoxW,BoxT+BoxN*BoxW)
Me.Line(BoxL,BoxT+i*BoxW)-(BoxL+BoxN*BoxW,BoxT+i*BoxW)
Me.CurrentX=BoxL+i*BoxW-IIf(i>9,6,2)
Me.CurrentY=BoxT-20:Me.PrintFormat(i)
Me.CurrentX=BoxL-IIf(i>9,23,20)
Me.CurrentY=BoxT+i*BoxW-6:Me.PrintFormat(i)
Next
Fori=:Forj=’画小标志
cx=BoxL+j*BoxW-3:cy=BoxT+i*BoxW-3
Me.Line(cx,cy)-(cx+6,cy+6),,B
Next:Next
Me.AutoRedraw=False:SetMe.Picture=Me.Image
EndFunction
PublicSubCheckWin()
‘*****************************************************************************
‘模块名称:CheckWin[获胜检查算法]’描述:1.检查是否和棋。2.检查电脑是否获胜。3.检查玩家是否获胜。
‘*****************************************************************************
DimiAsLong,jAsLong,kAsLong,mAsLong,nAsLong
DimcAAsLong,pAAsLong,cNAsLong
Fori=0ToUBound(cFlag):cN=IIf(cFlag(i)=False,cN+1,cN):Next
IfcN=UBound(cFlag)-1Then’设定和棋规则
Label1.Caption=”双方和棋!”:ThePlayFlag=False:ExitSub
EndIf
Fori=0ToUBound(cFlag)’检查电脑是否获胜
IfcFlag(i)=TrueThen
cA=0:Forj=0ToBoxN:Fork=0ToBoxN
IfTable(j,k)=1AndcWin(j,k,i)=TrueThencA=cA+1
Next:Next
IfcA=5ThenLabel1.Caption=”电脑获胜!”:ThePlayFlag=False:ExitSub
EndIf
Next
Fori=0ToUBound(pFlag)’检查玩家是否获胜
IfpFlag(i)=TrueThen
pA=0:Forj=0ToBoxN:Fork=0ToBoxN
IfTable(j,k)=2AndpWin(j,k,i)=TrueThenpA=pA+1
Next:Next
IfpA=5ThenLabel1.Caption=”玩家获胜!”:ThePlayFlag=False:ExitSub
EndIf
Next
EndSub
PublicSubDianNao()
‘*****************************************************************************
‘模块名称:DianNao[电脑算法]
‘描述:1.初始化赋值系统。2.赋值加强算法。3.计算电脑和玩家的**攻击位。
‘4.比较电脑和玩家的**攻击位并决定电脑的**策略。5.执行检查获胜函数。
‘*****************************************************************************
DimiAsLong,jAsLong,kAsLong,mAsLong,nAsLong
DimDcAsLong,cAbAsLong,pAbAsLong
ReDimPsCore(BoxN,BoxN)AsLong,CsCore(BoxN,BoxN)AsLong’初始化赋值数组
‘********电脑加强算法********
Fori=0ToUBound(cFlag)
IfcFlag(i)=TrueThen
cAb=0
Forj=0ToBoxN:Fork=0ToBoxN
IfTable(j,k)=1AndcWin(j,k,i)=TrueThencAb=cAb+1
Next:Next
SelectCasecAb
Case3
Form=0ToBoxN:Forn=0ToBoxN
IfTable(m,n)=0AndcWin(m,n,i)=TrueThenCsCore(m,n)=CsCore(m,n)+5
Next:Next
Case4
Form=0ToBoxN:Forn=0ToBoxN
playchess是什么意思
IfTable(m,n)=0AndcWin(m,n,i)=TrueThen
Table(m,n)=1:Label1.Caption=”下一步白方”
Me.FillColor=vbBlack:Me.Circle(m*BoxW+BoxL,n*BoxW+BoxT),8
ForDc=0ToUBound(pWin,3)
IfpWin(m,n,Dc)=TrueThenpFlag(Dc)=False:CallCheckWin:ExitSub
Next
EndIf
Next:Next
EndSelect
EndIf
Next
Fori=0ToUBound(pFlag)
IfpFlag(i)=TrueThen
pAb=0
Forj=0ToBoxN:Fork=0ToBoxN
IfTable(j,k)=2AndpWin(j,k,i)=TrueThenpAb=pAb+1
Next:Next
SelectCasepAb
Case3
Form=0ToBoxN:Forn=0ToBoxN
IfTable(m,n)=0AndpWin(m,n,i)=TrueThenPsCore(m,n)=PsCore(m,n)+30
Next:Next
Case4
Form=0ToBoxN:Forn=0ToBoxN
IfTable(m,n)=0AndpWin(m,n,i)=TrueThen
Table(m,n)=1:Label1.Caption=”下一步白方”
Me.FillColor=vbBlack:Me.Circle(m*BoxW+BoxL,n*BoxW+BoxT),8
ForDc=0ToUBound(pWin,3)
IfpWin(m,n,Dc)=TrueThenpFlag(Dc)=False:CallCheckWin:ExitSub
Next
EndIf
Next:Next
EndSelect
EndIf
Next
‘********电脑加强算法结束********
‘********赋值系统****************
Fori=0ToUBound(cFlag)
IfcFlag(i)=TrueThen
Forj=0ToBoxN:Fork=0ToBoxN
If(Table(j,k)=0)AndcWin(j,k,i)Then
Form=0ToBoxN:Forn=0ToBoxN
If(Table(m,n)=1)AndcWin(m,n,i)ThenCsCore(j,k)=CsCore(j,k)+1
Next:Next
EndIf
Next:Next
EndIf
Next
Fori=0ToUBound(pFlag)
IfpFlag(i)=TrueThen
Forj=0ToBoxN:Fork=0ToBoxN
If(Table(j,k)=0)AndpWin(j,k,i)Then
Form=0ToBoxN:Forn=0ToBoxN
If(Table(m,n)=2)AndpWin(m,n,i)ThenPsCore(j,k)=PsCore(j,k)+1
Next:Next
EndIf
Next:Next
EndIf
Next
‘********赋值系统结束************
‘********分值比较算法************
DimaAsLong,bAsLong,cAsLong,dAsLong
DimcSAsLong,pSAsLong
Fori=0ToBoxN:Forj=0ToBoxN
IfCsCore(i,j)>cSThencS=CsCore(i,j):a=i:b=j
Next:Next
Fori=0ToBoxN:Forj=0ToBoxN
IfPsCore(i,j)>pSThenpS=PsCore(i,j):c=i:d=j
Next:Next
IfcS>pSThen
Table(a,b)=1:Label1.Caption=”下一步白方”
Me.FillColor=vbBlack:Me.Circle(a*BoxW+BoxL,b*BoxW+BoxT),8
Fori=0ToUBound(pWin,3)
IfpWin(a,b,i)=TrueThenpFlag(i)=False
Next
Else
Table(c,d)=1:Label1.Caption=”下一步白方”
Me.FillColor=vbBlack:Me.Circle(c*BoxW+BoxL,d*BoxW+BoxL),8
Fori=0ToUBound(pWin,3)
IfpWin(c,d,i)=TrueThenpFlag(i)=False
Next
EndIf
‘********分值比较算法结束********
CallCheckWin
EndSub
PublicFunctionNumsWin(ByValnAsLong)AsLong
‘根据输入的棋盘布局n*n计算总共有多少种获胜组合
‘假定棋盘为10*10相应的棋盘数组就是Table(9,9)
‘水向每一列获胜组合是6共10列6*10=60
‘垂直方向每一行获胜组合是6共10行8*10=60
‘正对角线方向6+(5+4+3+2+1)*2=36
‘反对角线方向6+(5+4+3+2+1)*2=36
‘总的获胜组合数为60+60+36+36=
DimiAsLong,tAsLong
Fori=n–1:t=t+i:Next
NumsWin=2*(2*t+n-4)+2*n*(n-4)
EndFunction
以上就是与C#实现飞行棋相关内容,是关于C#实现飞行棋的分享。看完飞行棋playTNT后,希望这对大家有所帮助!
清明节要拿什么护身
清明节,是中华民族最隆重盛大的祭祖大节,属于礼敬祖先、慎终追远的一种文化传统节日。在这个特殊的日子里,除了表达对逝去亲人的思念之情,我们也需要关注自身的健康与...
什么日月可鉴
日月高悬于天际,见证着世间的沧桑变迁,岁月的流转更迭。那璀璨的光芒,如同一双深邃而公正的眼睛,默默注视着人间的善恶美丑,是非功过。日月可鉴,见证着历史的厚重。从古...
办公室漏雨了
建民为一集团所属的专业公司员工,连日来的降雨让人颇感天气丝丝凉意,但前日一上班,建民便发...
属羊人最忌讳买什么楼层?属羊人买房风水解析
导语:对于很多身处异地的人来说,能够购买属于自己的房子安家落户并不容易。因此看房选房都...
卧室风水有讲究,这几点你可以看看哦
卧室风水有讲究,这几点你可以看看哦
养鱼和狗哪个旺财(家里哪个位置养鱼旺财)
养鱼和狗哪个旺财?这是许多人都非常关心的话题。在中华文化中,鱼被视为财富、幸福和吉祥的...
店铺风水学介绍
风水作为一种无处不在的文化,不仅在家居装修的时候,我们需要使用到风水的原理,在很多其他的...
哪个星座女生会唱歌(哪个星座女生最专一)
唱歌是一种非常美妙的表达情感的方式,有些人自带天赋,能够演绎出深情的旋律,或是高亢的音符...
哪个星座男最儒雅(哪个星座喜欢天秤座)
哪个星座男最儒雅 星座是人们探究宇宙、描绘人生的一个神奇的符号系统。它可以分为十二...
如何判断眼距宽不宽(如何判断眼位高低)
眼距,也叫内眦间距,是一个人两只眼睛之间的距离。如果你想知道自己的眼距是否宽,可以尝试一...
2017属鼠人7月运势如何(1972年属鼠人2017年每月运势)
2017年,属鼠人的7月份运势总体上是比较平稳的。经过上半年的忙碌和繁琐,7月份将是一个放松...
肖狗人2023年总体运程 肖狗人2023年运程每月运势
2023年是肖狗人的本命年,整体运势相对较为平稳,但也需要注意以下几点:事业运势:今年的肖狗人...
田姓猴宝宝起名 田姓男孩名字大全属猴
大家好,关于田姓猴宝宝起名很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关...
在线免费星座血型算命 星座生肖血型测算
大家好,在线免费星座血型算命相信很多的网友都不是很明白,包括星座血型测试也是一样,不过没...
生辰八字缺什么 起名字生辰八字缺什么
大家好,生辰八字缺什么相信很多的网友都不是很明白,包括生辰八字缺什么查询表也是一样,不过...
巨蟹座今日运势查询网 巨蟹座今日运势星座网
大家好,关于巨蟹座今日运势查询网很多朋友都还不太明白,不过没关系,因为今天小编就来为大家...
免费算命婚姻相生相克 免费算命属相婚姻配对
大家好,关于免费算命婚姻相生相克很多朋友都还不太明白,不过没关系,因为今天小编就来为大家...
属鼠的19年年财运怎么样 属鼠的明年财运怎么样
大家好,感谢邀请,今天来为大家分享一下属鼠的19年年财运怎么样的问题,以及和明年属鼠的财运...
卯戌合化火的八字 卯戌合化火到底有什么用
大家好,今天来为大家分享卯戌合化火的八字的一些知识点,和卯戌合化火到底有什么用的问题解...
塔罗测概率的牌阵 塔罗预测牌阵
各位老铁们好,相信很多人对塔罗测概率的牌阵都不是特别的了解,因此呢,今天就来为大家分享下...
女主播讲八字算命 娱乐圈算命的女主持
本篇文章给大家谈谈女主播讲八字算命,以及娱乐圈算命的女主持对应的知识点,文章可能有点长...
风水中得水为上是什么意思?(风水学上水代表什么)
得水为上是“独门阴阳法风水”中催财的专业术语。得水为上指的是:阳宅某个方位可以见到水...
属龙和属兔的适合做夫妻吗,男兔女龙在一起短命吗
属龙和属兔的适合做夫妻吗 民间的俗语,是最能够反映出老祖宗生活的。在日常生活中,那些通...
2022年属羊的多少岁,2022属羊人全年运势女
2022年属羊的多少岁 时光飞逝,年岁增长,很多时候我们都会忘记年龄的存在,那属羊的2022 年多...
属羊虚岁多大1991,91年出生今年周岁多大
属羊虚岁多大1991 说起年龄应该人人都知道,那么大家知道年龄分虚岁年龄和实际年龄吗?我国...
70年属狗人今年运势,70属狗2022 年每月运程
70年属狗人今年运势 70年生属狗人进入2022 新的一年,全年运势因为是本命年而比较动荡,工作...
属鸡今日财运在什么方位,属鸡的财运方向与位置
属鸡今日财运在什么方位 鸡有五德:归纳为文、武、勇、仁、信“五德”。 头戴冠者——文也...
1939年生今年几岁,1939年今年多大
1939年生今年几岁 每个人为什么会有不一样的个性?其决定因素有很多,其中就有生肖的不同,出...
12属相年龄对照表,十二生肖婚姻更佳婚配
12属相年龄对照表 十二生肖出生年份对照表【1924-2022 年】鼠的出生年份:1924、1936、194...
2022年各生肖运势排名李居明,2022 年运势更好的生肖
2022年各生肖运势排名李居明「鼠」:大展身手 属鼠人2022 年运势 进入2022 年,属鼠人的运势...
2022年运势测算免费,2022 年运势免费测算
2022年运势测算免费 求签算卦啦!祈福消灾!~运势测算!~价格公道,童叟无欺!走过路过不要错过!错...
属马人做什么生意最旺,属马人做生意取店名
属马人做什么生意最旺 灵活异常,爱玩爱闹,最重要的是总也用不完的精力,这样的属马者,似乎天...
兔和龙的属相合不合结婚,兔龙属相婚配
兔和龙的属相合不合结婚 昨天有一对年轻男女来店里来道喜,说是去年晚婚现在怀孕了,正好来...
男属猴女属兔婚配好吗,男属猴的和女属兔的相配吗
男属猴女属兔婚配好吗 更佳答案男属兔和女属猴在一起的时候,很容易吵架,因为你们的性格不...
2022年八字运势,测运势2022年运势免费
2022年八字运势 近期你的运势将会开始好转,也会被贵人提拔,可说是吉生辰八字算命 ,需注明出...
属兔今年感情运势,属兔射手座2022 年6月运程
属兔今年感情运势 年整体运势及运程 进入2022 年庚子鼠年,属兔人运势非常不乐观,进入了刑...
属蛇的男的和属鼠的女的配吗,1965年蛇男和1972年鼠女配吗
属蛇的男的和属鼠的女的配吗 属蛇男和属鼠女相配吗 生肖女鼠和生肖男蛇性格配对 生肖鼠...
1986年虎女婚配对象,1983水猪配1986火虎
1986年虎女婚配对象如今社会中,男女在一起相差多大岁数的都有,可有的夫妻幸福美满,有的却感...
免费算未来三个月运势,测运势免费测试
免费算未来三个月运势 个人的未来走向是可以提前预测的,好的运势可以很大程度的帮你做到...
星座配对免费配对,姓名星座缘分配对免费
星座配对免费配对 两个人要互相吸引,有可能因为外貌也可能是一见钟情,而两个人要想走得长...
- 数据加载中,请稍后...