飞行棋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后,希望这对大家有所帮助!
名字皓什么 皓什么起名
《名字中的“皓”字魅力》 在名字的世界里,“皓”字犹如一颗璀璨的明珠,散发着独特的魅力。“皓”字,本义为光明、洁白,寓意着纯洁、美好和希望。 以“皓”字为名,给人一种清新脱俗、积极向上的感觉。比如“皓宇”,“宇”代...
猪年属猪的运势怎么样 猪年属相运势
猪年属猪的运势解析根据提供的搜索结果,我们可以从不同的角度来了解猪年在不同年份出生的属猪人的大致运势情况。1971年属猪人年整体运程1971年属猪的人在年的整体运程显示,他们这一年会比较劳碌奔波,但心态需要保持平和...
金牛座为什么那么自私(金牛座为什么这么自私)
金牛座为什么那么“自私” 金牛座,作为十二星座之一,常常被人们标签化为“自私”的代表。但真实情况又是怎样的呢?为什么金牛座会被这样评价? 首先,我们需要明确一个观点:星座性格特质只是对某一类人群的共同特征进行概括,并...
泽雨出自哪里(泽雨说是谁) 泽雨名字的寓意一段话
泽雨出自哪里:探索“泽雨”一词的文化渊源 “泽雨”一词,在中国文化中蕴含着丰富的内涵和深厚的情感。那么,“泽雨”这个词究竟出自哪里?它的背后又隐藏着怎样的文化意义呢?本文旨在探索“泽雨”一词的文化渊源,带您领略其...
陕北信天游:你没见过的城堡式窑洞庄园,米脂姜氏庄园
陕北信天游:你没见过的城堡式窑洞庄园,米脂姜氏庄园说到陕北,最为人知的莫过于延安,说到陕北...
朱家宅院,宋理学家朱熹散落武宣的一支裔族
武宣新闻中心主任陈德仁在《揭秘武宣近代壁画群》上这样描写凤阳朱家宅的壁画:“壁画保存...
有关居室风水方位介绍
中国是一个比较崇尚易经的国家,在这个国度里面,很多人对于房子风水学是非常注重的,那么房子...
九一年属羊哪个月好(九一年属羊的命好不好)
九一年属羊的人在农历中出生于1991年,其属相为羊。按照传统的农历来看,每个月都有自己的特...
家中养鱼的风水大忌
1、什么样的人适合养鱼鱼离不开水,所以适合养鱼的人,肯定是八字五行喜水的人。夏天生的人,...
属鼠2018适合哪个城市 属鼠适合在哪个城市
属鼠的人在2018年应该选择哪个城市生活呢?根据中国传统的十二生肖学说,属鼠的人的本命年往...
测测你和哪个星座最有缘(测测你是哪个星座的人)
测测你和哪个星座最有缘 每个人的星座特质不同,所以有些星座之间很容易相处,而有些星座则...
狗狗哪个月份好(狗狗几月份剃毛最好)
狗狗哪个月份好? 这是一个让人困惑的问题。因为每个狗狗都有自己的性格和喜好,不同的品种...
如何给自己补财库(如何自己补财库库存)
在现代社会,财务管理已经成为每个人都必须掌握的技能,如何给自己补财库成为了每个人都必须...
怎么解霉运(怎么才能化解霉运)
霉运是人们常常遇到的一种不好的运势,许多人在经历着霉运的时候,很容易感到烦躁、沮丧和无...
厨房的风水灶台怎么做 厨房灶台风水布局
大家好,今天来为大家分享厨房的风水灶台怎么做的一些知识点,和厨房的风水灶台怎么做的的问...
风水大门对小门哪个不好 风水大门对小门好不好
大家好,感谢邀请,今天来为大家分享一下风水大门对小门哪个不好的问题,以及和大门对小门的风...
子女缘是注定的吗 子女缘到来的预兆
人和人之间是有缘分的,尤其是有血缘关系的亲人,很多人对于子女缘是有了解的,人在结婚之后都...
怎么给初中孩子起名字好听 小孩起名字怎么起才好听
大家好,怎么给初中孩子起名字好听相信很多的网友都不是很明白,包括小孩起名字怎么取也是一...
六爻旺衰看空亡 六爻空亡是什么意思
其实六爻旺衰看空亡的问题并不复杂,但是又很多的朋友都不太了解六爻空亡何时才出空,因此呢...
办公室装饰风水 办公室装修风水
大家好,办公室装饰风水相信很多的网友都不是很明白,包括办公室装修风水布局图也是一样,不过...
2023年1月领证吉日一览表 结婚领证需要带什么证件
那么今天就让我们根据黄历日期来看看,在2023年的第一个月中,究竟有多少天是适合领证的,感兴...
梦见乌龟叫是什么征兆 梦见乌龟叫是什么意思呢
大家好,关于梦见乌龟叫是什么征兆很多朋友都还不太明白,不过没关系,因为今天小编就来为大家...
伤害了女朋友怎么挽回句子 伤害了女朋友怎样才能挽回的句子
大家好,感谢邀请,今天来为大家分享一下伤害了女朋友怎么挽回句子的问题,以及和伤害了女朋友...
2023年属蛇结婚大利月是哪几个月 1月2月9月
在任何时候结婚都是非常重要的事情,至今为止大部分人都会尊重结婚的礼仪,其中找一个最合适...
时辰对照表 天干地支
生时的学名叫帝座,在命运学中处于非常重要之地位。如果时辰不准确,那么再多的预测也是枉然...
十二生肖每天的运势查询下载,十二生肖运势查询
十二生肖每天的运势查询下载 小运播报:2022 年1月7日,星期日,十一月二十一日(丁酉年癸丑...
1992年属猴男的婚姻命运,1992属猴更佳结婚年龄
1992年属猴男的婚姻命运 婚姻是每个人人生中的一件大事,谁都希望自己能有一份幸福美满的...
运缘阁本命佛官 ,九华山开光运缘阁官
运缘阁本命佛官 明嗔阁带您学习一下本命佛的相关知识 随着国人物质生活水平的提高,人们...
2022年属龙的运势和财运,2022 属龙的运势和财运
2022年属龙的运势和财运 属蛇双子座人兼有属相蛇人的机灵和热情,也具有双子座的简单...
1976年属龙2022年多少岁,属龙2022 年运势及运程每月运程
1976年属龙2022年多少岁 更佳答案 进入2022 年,出生于1976年的属龙人实岁45岁,虚岁46岁45...
1986年属虎35岁后享福女,1986年属虎是什么命女
1986年属虎35岁后享福女 自古俗话说的好:正所谓是夫妻同心,其利断金,,同等道理,换而言之意思...
属蛇30岁不顺,属蛇的带什么玉好
属蛇30岁不顺人生之路起起伏伏,有时顺风顺水,有时逆水行舟,很多时候是倒吃甘蔗,渐入佳境。下...
二零零三属羊人的命运,91羊2022 年运势完整版
二零零三属羊人的命运司马迁曾在《史记》中说#8221;天下熙熙,皆为利来;天下攘攘,皆为利往#8...
2022年属牛人的运程,2022年73年属牛女全年运势
2022年属牛人的运程 属牛处女座具有老黄牛踏实肯干,兢兢业业的品德,也有处女座追求圆...
属鼠的适合什么工作,最适合属鼠人的昵称
属鼠的适合什么工作 无论你信不信星座决定性格,姑且你就按照性格特点来去分析自己到底适...
1974年属虎女每月运势,1974年属虎女在2022 年运程
1974年属虎女每月运势 1974年属虎女性2022 年运势 总体来看,1974年的属虎女在2022 年的事...
戊申日出生的人,戊申日出生的人命运
戊申日出生的人南粉命理问题留言如需咨询命理运气,可以在 留下你的年月日时、问题。来信...
属虎男孩最吉利的名字,属虎的女宝宝取名大全
属虎男孩最吉利的名字 给牛年出生的男宝宝起一个好听又符合生肖命理的名字,这样不仅自有...
五行纳音是什么意思,五行纳音石榴木是什么意思
五行纳音是什么意思 六十花甲子纳音五行,在学习风水,命理预测、占卜算卦,各种术数门类等等,...
农历免费算命生辰八字,算命生辰八字免费老黄历
农历免费算命生辰八字 请输入八字算命资料 您的姓氏 您的名字 日期类型 阳历 阴历 最新 ...
- 数据加载中,请稍后...