logo资料库

一个用C语言编写的五子棋.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
/*********************五子棋**********************************/ /***************************作者:王强军、赵强****************/ #include #include #define N 10 void Welcome(); void Build(); void Show(int m[][N],int n[][N]); void Judge(int m[][N],int n[][N]); void Nowiner(); void Over(); //和棋 //游戏结束 //进入游戏 //建立五子棋界面 //显示棋子 //判断输赢 /******************主函数*****************/ void main() { int p=0; int m[N][N]={0}; int n[N][N]={0}; Welcome(); Build(); for(p=1;p<=(N-1)*(N-1);p++) { int x,y; if(p%2==1) printf("请 Player1 输入要走棋子的坐标(x,y):"); else printf("请 Player2 输入要走棋子的坐标(x,y):"); scanf("%d,%d",&x,&y); while(x>N-1||x<1||y>N-1||y<1) { printf("error!\n"); if(p%2==1) printf("请 Player1 输入要走棋子的坐标(x,y):"); else printf("请 Player2 输入要走棋子的坐标(x,y):"); scanf("%d,%d",&x,&y); } if(p%2==1) m[x][y]=1; if(p%2==0) n[x][y]=1; Show(m,n); Judge(m,n); } if(p==(N-1)*(N-1)) Nowiner(); }
/****************游戏开始*******************/ void Welcome() { printf("************************************\n"); printf(" printf("************************************\n"); Welcome!!!\n"); } /******************建立棋盘*****************/ void Build() { int i,j; for(i=0;i
printf("\n"); for(i=1;i
Over(); exit(0); } if(n[j][i]==1&&n[j+1][i]==1&&n[j+2][i]==1&&n[j+3][i]==1&&n[j+4][i]==1) { printf("Player2 wins!!!\n"); Over(); exit(0); } } } /****************判断对角(左上-右下)******************/ int a,b; for(a=1;a<6;a++) { for(b=1;b<6;b++) { if(m[a][b]==1&&m[a+1][b+1]==1&&m[a+2][b+2]==1&&m[a+3][b+3]==1&&m[a+4][b+4] ==1) { } printf("Player1 wins!!!\n"); Over(); exit(0); if(n[a][b]==1&&n[a+1][b+1]==1&&n[a+2][b+2]==1&&n[a+3][b+3]==1&&n[a+4][b+4]==1) printf("Player2 wins!!!\n"); Over(); exit(0); { } } } /**********判断对角(左下-右上)************/ int k,l; for(k=1;k<6;k++) { for(l=N-1;l>4;l--) { if(m[k][l]==1&&m[k+1][l-1]==1&&m[k+2][l-2]==1&&m[k+3][l-3]==1&&m[k+4][l-4]==1)
{ } printf("Player1 wins!!!\n"); Over(); exit(0); if(n[k][l]==1&&n[k+1][l-1]==1&&n[k+2][l-2]==1&&n[k+3][l-3]==1&&n[k+4][l-4]==1) { } printf("Player2 wins!!!\n"); Over(); exit(0); } } } /****************和棋*******************/ void Nowiner() { printf("************************************\n"); printf(" printf("************************************\n"); Tie!!!\n"); } /**************游戏结束*****************/ void Over() { printf("************************************\n"); printf(" printf("************************************\n"); Game Over!!!\n"); }
分享到:
收藏