html5五子棋游戏的棋盘怎么画

html5五子棋游戏的棋盘怎么画,第1张

棋盘用1个 div 作为容器,用 css 一些内边距{padding: 60px},里面的网格也是用 div 标签,可以用脚本生成,一共输出20*20=400个格子就可以了,方便多了,格子设置样式为{width: 40pxheight: 40pxfloat: left}

这是我写的,你可以参考一下。希望对你有所帮助!

void CMyView::over(CPoint point)

{

//获取鼠标指向数组位置,即中心位置

int x=(point.x-30)/20

int y=(point.y-30)/20

//计算开始判断的坐标 xx,yy

int xx,yy

if(x<4)

xx=0

else

xx=x-4

if(y<4)

yy=0

else

yy=y-4

int i,j,a

//横向判断

for(i=xxi<15i++)

{

a=0

for(j=ij<i+5j++)

{

a=a+wzq[j][y]

//五个都是白棋

if(a==5)

{

AfxMessageBox("白棋胜!")

//重新开始

OnStart()

return

}

//五个都是黑棋

if(a==-5)

{

AfxMessageBox("黑棋胜!")

OnStart()

return

}

}

}

//竖向判断

for(i=yyi<15i++)

{

a=0

for(j=ij<i+5j++)

{

a=a+wzq[x][j]

if(a==5)

{

AfxMessageBox("白棋胜!")

OnStart()

return

}

if(a==-5)

{

AfxMessageBox("黑棋胜!")

OnStart()

return

}

}

}

//向右下角

//判断起点位置

if(x<y)

{

if(xx==0)

yy=y-x

}

else

{

if(yy==0)

xx=x-y

}

//参数over=1时退出循环

int over=0

do

{

a=0

for(i=0i<5i++)

{

if((xx+i)<19||(yy+i)<19)

{

a=a+wzq[xx+i][yy+i]

if(a==5)

{

AfxMessageBox("白棋胜!")

OnStart()

return

}

if(a==-5)

{

AfxMessageBox("黑棋胜!")

OnStart()

return

}

}

//到了边界

else

over=1

}

xx+=1

yy+=1

}while(over==0)

//向左下角

if(y>(18-x))

{

if(x>13)

{

yy=y-(18-x)

xx=18

}

else

{

yy=y-4

xx=x+4

}

}

else

{

if(y<5)

{

xx=x+y

yy=0

}

else

{

yy=y-4

xx=x+4

}

}

over=0

do

{

a=0

for(i=0i<5i++)

{

if((xx-i)>=0||(yy+i)<19)

{

a=a+wzq[xx-i][yy+i]

if(a==5)

{

AfxMessageBox("白棋胜!")

OnStart()

return

}

if(a==-5)

{

AfxMessageBox("黑棋胜!")

OnStart()

return

}

}

//到了边界

else

over=1

}

xx-=1

yy+=1

}while(over==0)

}

1.MFC的对话框程序。首先熟悉MFC的对话框程序。

2.熟悉GDI *** 作,也就是画图 *** 作。

3.制定五子棋的规则,带不带禁手,支不支持悔棋,支持的话,最多多少步。

4.数据结构的存储,怎么存储黑白棋,怎么存储棋盘。

5.怎么判断判断落子的地方是否有棋子。

6.怎么判断已经有五个,判断胜负。

7.怎么设计电脑的AI,AI算法去看看,什么贪心算法,复权值,a-b剪枝算法,很多算法。

8.怎么设置AI的等级,也就是电脑的聪明程度。

很复杂的,还不如先做个局域网的五子棋。AI算法不是一般人可以写的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7057695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存