共有回帖数 0 个
-
现在的心情可能大家不知道,虽然只是做了个五子棋,但是对于我这个新手,我现在简直太高兴了。还有这个五子棋没有用图形函数,而是用printf打印出来的,大家只要输入坐标就可以下了,是个8*8的棋盘,输入的数在1-8的范围就可以了。而且这个算法可能除了我以为没人能看出来,算法太垃圾。
#includestdio.h
#include stdlib.h
int wanjia1(int i,int j,int a[9][9]);
int wanjia2(int i,int j,int a[9][9]);
int main(void)
{static int a[9][9];
int t,k,s=0,i,j,d=0;
char n;
while(s=32)
{if(d==2)
{ system("cls");
for(t=1;t=8;t++)
{for(k=1;k=8;k++)
printf("%2d",a[t][k]);
printf("n");
}printf("玩家2赢了n");break;}
system("cls");
for(t=1;t=8;t++)
{for(k=1;k=8;k++)
printf("%2d",a[t][k]);
printf("n");
}
printf("请玩家一输入坐标");
scanf("%d,%d",&i,&j);
while(a[j]==1||a[j]==2||i8||i1||j8||j1)
{ printf("请按照游戏规则下棋n");
printf("继续下棋,玩家1n");
scanf("%d,%d",&i,&j);
if(a[j]==0&&i=8&&i=1&&j=8&&j=1)
{a[j]=1;break;}
}
a[j]=1;
d=wanjia1(i,j,a);
if(d==1)
{ system("cls");
for(t=1;t=8;t++)
{for(k=1;k=8;k++)
printf("%2d",a[t][k]);
printf("n");
}printf("玩家一赢了n");break;}
system("cls");
for(t=1;t=8;t++)
{for(k=1;k=8;k++)
printf("%2d",a[t][k]);
printf("n");
}
printf("请玩家二输入坐标");
scanf("%d,%d",&i,&j);
while(a[j]==1||a[j]==2||i8||i1||j8||j1)
{ printf("请按照游戏规则下棋n");
printf("继续下棋,玩家2n");
scanf("%d,%d",&i,&j);
if(a[j]==0&&i=8&&i=1&&j=8&&j=1)
{a[j]=2;break;}
}
a[j]=2;
d=wanjia2(i,j,a);
s++;
}
if(s==33)
{printf("");}
return 0;
}
int wanjia1(int i,int j,int a[9][9])
{ int s;
if(j-4=1)
{if(a[j-4]==1&&a[j-3]==1&&a[j-2]==1&&a[j-1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(j-3=1&&j+1=8)
{if(a[j-3]==1&&a[j-2]==1&&a[j-1]==1&&a[j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(j-2=1&&j+2=8)
{if(a[j-2]==1&&a[j-1]==1&&a[j+2]==1&&a[j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(j-1=1&&j+3=8)
{if(a[j-1]==1&&a[j+3]==1&&a[j+2]==1&&a[j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(j+4=1)
{if(a[j+4]==1&&a[j+3]==1&&a[j+2]==1&&a[j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-4=1)
{if(a[i-4][j]==1&&a[i-3][j]==1&&a[i-2][j]==1&&a[i-1][j]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8)
{if(a[i-3][j]==1&&a[i-2][j]==1&&a[i-1][j]==1&&a[i+1][j]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8)
{if(a[i-2][j]==1&&a[i+2][j]==1&&a[i-1][j]==1&&a[i+1][j]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8)
{if(a[i-1][j]==1&&a[i+2][j]==1&&a[i+3][j]==1&&a[i+1][j]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i+4=1)
{if(a[i+4][j]==1&&a[i+3][j]==1&&a[i+2][j]==1&&a[i+1][j]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-4=1&&j-4=1)
{if(a[i-4][j-4]==1&&a[i-3][j-3]==1&&a[i-2][j-2]==1&&a[i-1][j-1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8&&j-3=1&&j+1=8)
{if(a[i-3][j-3]==1&&a[i-2][j-2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8&&j-2=1&&j+2=8)
{if(a[i-2][j-2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1&&a[i+2][j+2]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8&&j-1=1&&j+3=8)
{if(a[i+3][j+3]==1&&a[i+2][j+2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i+4=1&&j+4=1)
{if(a[i+4][j+4]==1&&a[i+3][j+3]==1&&a[i+2][j+2]==1&&a[i+1][j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-4=1&&j+4=8)
{if(a[i-4][j+4]==1&&a[i-3][j+3]==1&&a[i-2][j+2]==1&&a[i-1][j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8&&j+3=8&&j-1=1)
{if(a[i-3][j+3]==1&&a[i-2][j+2]==1&&a[i+1][j-1]==1&&a[i-1][j+1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8&&j+2=8&&j-2=1)
{if(a[i-2][j+2]==1&&a[i-1][j+1]==1&&a[i+2][j-2]==1&&a[i+1][j-1]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8&&j+1=8&&j-3=1)
{if(a[i-1][j+1]==1&&a[i+1][j-1]==1&&a[i+2][j-2]==1&&a[i+3][j-3]==1)
{s=1;printf("游戏结束n");return s;}
}
if(i+4=1&&j-4=8)
{if(a[i+4][j-4]==1&&a[i+3][j-3]==1&&a[i+2][j-2]==1&&a[i+1][j-1]==1)
{s=1;printf("游戏结束n");return s;}
}
return 0;
}
int wanjia2(int i,int j,int a[9][9])
{int s;
if(j-4=1)
{if(a[j-4]==2&&a[j-3]==2&&a[j-2]==2&&a[j-1]==2)
{s=2;printf("游戏结束n");return s;}
}
if(j-3=1&&j+1=8)
{if(a[j-3]==2&&a[j-2]==2&&a[j-1]==2&&a[j+1]==2)
{s=2;printf("游戏结束n");return s;}
}
if(j-2=1&&j+2=8)
{if(a[j-2]==2&&a[j-1]==2&&a[j+2]==2&&a[j+1]==2)
{s=2;printf("游戏结束n");return s;}
}
if(j-1=1&&j+3=8)
{if(a[j-1]==2&&a[j+3]==2&&a[j+2]==2&&a[j+1]==2)
{s=2;printf("游戏结束n");return s;}
}
if(j+4=1)
{if(a[j+4]==2&&a[j+3]==2&&a[j+2]==2&&a[j+1]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i-4=1)
{if(a[i-4][j]==2&&a[i-3][j]==2&&a[i-2][j]==2&&a[i-1][j]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8)
{if(a[i-3][j]==2&&a[i-2][j]==2&&a[i-1][j]==2&&a[i+1][j]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8)
{if(a[i-2][j]==2&&a[i+2][j]==2&&a[i-1][j]==2&&a[i+1][j]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8)
{if(a[i-1][j]==2&&a[i+2][j]==2&&a[i+3][j]==2&&a[i+1][j]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i+4=1)
{if(a[i+4][j]==2&&a[i+3][j]==2&&a[i+2][j]==2&&a[i+1][j]==2)
{s=2;printf("游戏结束n");return s;}
}
if(i-4=1&&j-4=1)
{if(a[i-4][j-4]==1&&a[i-3][j-3]==1&&a[i-2][j-2]==1&&a[i-1][j-1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8&&j-3=1&&j+1=8)
{if(a[i-3][j-3]==1&&a[i-2][j-2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8&&j-2=1&&j+2=8)
{if(a[i-2][j-2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1&&a[i+2][j+2]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8&&j-1=1&&j+3=8)
{if(a[i+3][j+3]==1&&a[i+2][j+2]==1&&a[i-1][j-1]==1&&a[i+1][j+1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i+4=1&&j+4=1)
{if(a[i+4][j+4]==1&&a[i+3][j+3]==1&&a[i+2][j+2]==1&&a[i+1][j+1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-4=1&&j+4=8)
{if(a[i-4][j+4]==1&&a[i-3][j+3]==1&&a[i-2][j+2]==1&&a[i-1][j+1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-3=1&&i+1=8&&j+3=8&&j-1=1)
{if(a[i-3][j+3]==1&&a[i-2][j+2]==1&&a[i+1][j-1]==1&&a[i-1][j+1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-2=1&&i+2=8&&j+2=8&&j-2=1)
{if(a[i-2][j+2]==1&&a[i-1][j+1]==1&&a[i+2][j-2]==1&&a[i+1][j-1]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i-1=1&&i+3=8&&j+1=8&&j-3=1)
{if(a[i-1][j+1]==1&&a[i+1][j-1]==1&&a[i+2][j-2]==1&&a[i+3][j-3]==1)
{s=2;printf("游戏结束n");return s;}
}
if(i+4=1&&j-4=8)
{if(a[i+4][j-4]==1&&a[i+3][j-3]==1&&a[i+2][j-2]==1&&a[i+1][j-1]==1)
{s=2;printf("游戏结束n");return s;}
}
return 0;
}
楼主 2015-12-18 13:32 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知