C语言实现三子棋游戏
本文实例为大家分享了C语言实现三子棋游戏的具体代码,供大家参考,具体内容如下
#include#include #include voidchess_board(chararr[3][3])//打印棋盘 { inti=0; intj=0; for(i=0;i<3;i++) { printf("%c|%c|%c\n",arr[i][0],arr[i][1],arr[i][2]); if(i<2) printf("---|---|---\n"); } } intsuccess_or_failure(chararr[3][3])//判断胜负 { inti=0; intj=0; for(i=0;i<3;i++) { if((arr[i][0]==arr[i][1])&&(arr[i][j]==arr[i][2])) { if(arr[i][0]=='#') return1;//用户赢了 elseif(arr[i][0]=='0') return-1;//电脑赢了 } } for(j=0;j<3;j++) { if((arr[0][j]==arr[1][j])&&(arr[1][j]==arr[2][j])) { if(arr[0][j]=='#') return1;//用户赢了 elseif(arr[0][j]=='0') return-1;//电脑赢了 } } if((arr[0][0]==arr[1][1])&&(arr[0][0]==arr[2][2])) { if(arr[1][1]=='#') return1;//用户赢了 elseif(arr[1][1]=='0') return-1;//电脑赢了 } if((arr[0][2]==arr[1][1])&&(arr[0][2]==arr[2][0])) { if(arr[1][1]=='#') return1;//用户赢了 elseif(arr[1][1]=='0') return-1;//电脑赢了 } for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(arr[i][j]=='') return0;//都没赢 } } return-2;//平局 } intuser_game(chararr[3][3])//用户输入 { intx=0; inty=0; while(1) { printf("pleaseuserinput:(x,y)"); scanf("%d%d",&x,&y); printf("\n"); if((x<1&&x>3)||(y<1&&y>3))//判断用户输入的是否合法 { printf("地址无效,请重新输入\n"); break; } if(arr[x-1][y-1]=='')//判断这个位置有没有被占 { arr[x-1][y-1]='#'; break; } printf("地址无效,请重新输入\n"); } chess_board(arr); intret=success_or_failure(arr); returnret; } intcomputer_game(chararr[3][3])//电脑输入 { printf("computerinput:\n\n"); intx=0; inty=0; while(1) {//产生一个没有被棋子占用的位置 srand((unsigned)time(NULL)); x=rand()%3; srand((unsigned)time(NULL)); y=rand()%3; if(arr[x][y]=='') break; } arr[x][y]='0'; chess_board(arr); intret=success_or_failure(arr); returnret; } voidinit(chararr[][3])//初始化棋盘 { for(inti=0;i<3;i++) { for(intj=0;j<3;j++) { arr[i][j]=''; } } } intmain() { printf("**********************\n");//打印菜单 printf("**************\n"); printf("*******1.go0.exit**\n"); printf("**************\n"); printf("**********************\n"); printf("**********************\n\n\n"); chararr[3][3]; while(1) { init(arr);//初始化棋盘 intcount=0; printf("\npleasechoice:1or0:"); scanf("%d",&count);//选择功能 if(count==0) { exit(EXIT_FAILURE); } elseif(count==1) { printf("\n****游戏开始****\n\n"); while(1) {intn1=user_game(arr); { if(n1==1) { printf("****恭喜玩家赢了****\n"); break; } } intn2=computer_game(arr); { if(n2==-1) { printf("****电脑赢了****\n"); break; } } if((n1==-2)||(n2==-2)) { printf("*****平局******\n"); break; } } printf("\n再来一局\n\n"); } return0; }
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。