五子棋c语言代码 贴吧,五子棋C语言代码.doc

#define N 20

/*建立棋盘*/

creat(char g[N][N])

{

FILE *fp;

int i,j;

fp=fopen ("game.txt","w");

for (i=0;it)

{

t=n;

x=i;

y=j;

flag=1;

}

n=0;

x2=i;y2=j;

if (g[x2][y2]==o||g[x2][y2]==x)

while (g[x2][y2]==g[++x2][y2])

{

n++;

}

if (g[x2][y2]== ||g[x2][y2]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=2;

}

n=0;

x3=i;

y3=j;

if (g[x3][y3]==o||g[x3][y3]==x)

while (g[x3][y3]==g[x3][++y3])

{

n++;

}

if (g[x3][y3]== ||g[x3][y3]==1)

if (n>t)

{

t=n;

x=i;y=j;

flag=3;

}

n=0;

x4=i;

y4=j;

if (g[x4][y4]==x||g[x4][y4]==o)

while (g[x4][y4]==g[++x4][--y4])

{

n++;

// if (y4<=1)

break;

}

if (g[x4][y4]== ||g[x4][y4]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=4;

}

n=0;

x5=i;

y5=j;

if (g[x5][y5]==o||g[x5][y5]==x)

while (g[x5][y5]==g[--x5][y5])

{

n++;

}

if (g[x5][y5]== ||g[x5][y5]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=5;

}

n=0;

x6=i;

y6=j;

if (g[x6][y6]==o||g[x6][y6]==x)

while (g[x6][y6]==g[x6][--y6])

{

n++;

}

if (g[x6][y6]== ||g[x6][y6]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=6;

}

n=0;

x7=i;

y7=j;

if (g[x7][y7]==o||g[x7][y7]==x)

while (g[x7][y7]==g[--x1][--y1])

{

n++;

}

if (g[x7][y7]== ||g[x7][y7]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=7;

}

n=0;

x8=i;

y8=j;

if (g[x8][y8]==o||g[x8][y8]==x)

while (g[x8][y8]==g[--x8][++y8])

{

n++;

}

if (g[x8][y8]== ||g[x8][y8]==1)

if (n>t)

{

t=n;

x=i;

y=j;

flag=8;

}

}

switch (flag)

{

case 1:{while (g[++x][++y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[++x][++y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 2:{while (g[++x][y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[++x][y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 3:{while (g[x][++y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[x][++y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 4:{while (g[++x][--y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[++x][--y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 5:{while (g[--x][y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[--x][y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 6:{while (g[x][--y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[x][--y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 7:{while (g[--x][--y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[--x][--y]!= );g[x][y]=1;}else g[x][y]=o;break;}

case 8:{while (g[--x][++y]!= &&g[x][y]!=1);if (g[x][y]==1){g[x][y]=o;while (g[--x][++y]!= );g[x][y]=1;}else g[x][y]=o;break;}

/*

case 1:while (g[++x][++y]!= );g[x][y]=o;break;

case 2:while (g[++x][y]!= );g[x][y]=o;break;

case 3:while (g[x][++y]!= );g[x][y]=o;break;

case 4:while (g[++x][--y]!= );g[x][y]=o;break;

case 5:while (g[--x][y]!= );g[x][y]=o;break;

case 6:while (g[x][--y]!= );g[x][y]=o;break;

case 7:while (g[--x][--y]!= );g[x][y]=o;break;

case 8:while (g[--x][++y]!= );g[x][y]=o;break;

*/ }

save (g);

renew (g);

return ;

}

//判断胜利方和胜利

judge(char g[N][N])

{

int i,j,n,t,x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8,flag;

int f[2];

getg(g);

for (i=0;it)

{

t=n;

x=i;

y=j;

}

n=0;

x2=i;

y2=j;

if (g[x2][y2]==o||g[x2][y2]==x)

while (g[x2][y2]==g[++x2][y2])

{

n++;

}

if (g[x2][y2]== ||g[x2][y2]==1)

if (n>t)

{

t=n;

x=i;

y=j;

}

n=0;

x3=i;

y3=j;

if (g[x3][y3]==o||g[x3][y3]==x)

while (g[x3][y3]==g[x3][++y3])

{

n++;

}

if (g[x3][y3]== ||g[x3][y3]==1)

if (n>t)

{

t=n;

x=i;y=j;

}

n=0;

x4=i;

y4=j;

if (g[x4][y4]==x||g[x4][y4]==o)

while (g[x4][y4]==g[++x4][--y4])

{

n++;

// if (y4<=1)

break;

}

if (g[x4][y4]== ||g[x4][y4]==1)

if (n>t)

{

t=n;

x=i;

y=j;

}

n=0;

x5=i;

y5=j;

if (g[x5][y5]==o||g[x5][y5]==x)

while (g[x5][y5]==g[--x5][y5])

{

n++;

}

if (g[x5][y5]== ||g[x5][y5]==1)

if (n>t)

{

t=n;

x=i;

y=j;

}

n=0;

x6=i;

y6=j;

if (g[x6][y6]==o||g[x6][y6]==x)

while (g[x6][y6]==g[x6][--y6])

{

n++;

}

if (g[x6][y6]== ||g[x6][y6]==1)

if (n>t)

{

t=n;

x=i;

y=j;

}

n=0;

x7=i;

y7=j;

if (g[x7][y7]==o||g[x7][y7]==x)

while (g[x7][y7]==g[--x1][--y1])

{

n++;

}

if (g[x7][y7]== ||g[x7][y7]==1)

if (n>t)

{

t=n;

x=i;

y=j;

}

n=0;

x8=i;

y8=j;

if (g[x8][y8]==o||g[x8][y8]==x)

while (g[x8][y8]==g[--x8][++y8])

{

n++;

}

if (g[x8][y8]== ||g[x8][y8]==1)

if (n>t)

{

t=n;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值