您好,欢迎访问三七文档
井字棋游戏代码#include<iostream>#include<stdlib.h>#include<time.h>usingnamespacestd;charr='d';charf='d';intjiru1[9]={0};//人人游戏时用来记录是否在此处下过棋inti=1;chargame[3][3];//用来下棋intx,y;inta[8];//人机游戏时记录每行,列,斜行有多少子intb[8];//人机游戏时记录机器每行,列,斜行有多少子intc[8];//人机游戏时记录人每行,列,斜行有多少子intjiru[3][3]={0};//人机游戏时用来记录是否在此处下过棋intqi[3][3]={0};//人人游戏时用来记录机器是否在此处下过棋intren[3][3]={0};//人人游戏时用来记录人是否在此处下过棋voidzhuanhua(intt)//把输入的1~9数字转化成坐标{inth,g;h=t%3;g=(t-h)/3;x=g;y=h-1;}voidsuan()//人机游戏时计算每行,列,斜行有多少子{a[1]=jiru[0][0]+jiru[0][1]+jiru[0][2];a[2]=jiru[1][0]+jiru[1][1]+jiru[1][2];a[3]=jiru[2][0]+jiru[2][1]+jiru[2][2];a[4]=jiru[0][0]+jiru[1][0]+jiru[2][0];a[5]=jiru[0][1]+jiru[1][1]+jiru[2][1];a[6]=jiru[0][2]+jiru[1][2]+jiru[2][2];a[7]=jiru[0][0]+jiru[1][1]+jiru[2][2];a[8]=jiru[0][2]+jiru[1][1]+jiru[2][0];b[1]=qi[0][0]+qi[0][1]+qi[0][2];b[2]=qi[1][0]+qi[1][1]+qi[1][2];b[3]=qi[2][0]+qi[2][1]+qi[2][2];b[4]=qi[0][0]+qi[1][0]+qi[2][0];b[5]=qi[0][1]+qi[1][1]+qi[2][1];b[6]=qi[0][2]+qi[1][2]+qi[2][2];b[7]=qi[0][0]+qi[1][1]+qi[2][2];b[8]=qi[0][2]+qi[1][1]+qi[2][0];c[1]=ren[0][0]+ren[0][1]+ren[0][2];c[2]=ren[1][0]+ren[1][1]+ren[1][2];c[3]=ren[2][0]+ren[2][1]+ren[2][2];c[4]=ren[0][0]+ren[1][0]+ren[2][0];c[5]=ren[0][1]+ren[1][1]+ren[2][1];c[6]=ren[0][2]+ren[1][2]+ren[2][2];c[7]=ren[0][0]+ren[1][1]+ren[2][2];c[8]=ren[0][2]+ren[1][1]+ren[2][0];}voidchushihua()//把数据初始化{i=1;intj,k;for(j=0;j<3;j++){for(k=0;k<3;k++){game[j][k]='/';}}for(j=0;j<3;j++){for(k=0;k<3;k++){jiru[j][k]=0;qi[j][k]=0;ren[j][k]=0;}}}voidshuru()//输入数据{intk,j;for(k=0;k<3;k++){for(j=0;j<3;j++){cout<<game[k][j]<<"";}cout<<endl;}}voidrenxia(intt,ints)//人落子的情况{if(i%2==1){game[t][s]='x';jiru[t][s]=1;ren[t][s]=1;system("cls");shuru();}else{game[t][s]='o';jiru[t][s]=1;ren[t][s]=1;system("cls");shuru();}}voidhuiqi1(intt,ints)//人机游戏时人悔棋的情况{game[t][s]='/';jiru[t][s]=0;ren[t][s]=0;system("cls");shuru();}voidsuiji()//产生随机数{intchoice;srand((unsignedint)time(NULL));choice=rand()%10;inth,g;if(choice==10){choice=9;}elseif(choice==0){choice=1;}h=choice%3;g=(choice-h)/3;game[g][h-1]='x';jiru[g][h-1]=1;qi[g][h-1]=1;}voidjixia()//人机游戏时机器下子{if(i==1){suiji();system("cls");shuru();}elseif(i==3){intp;for(p=1;p<10;p++){inth,g;h=p%3;g=(p-h)/3;if(jiru[g][h-1]==0){game[g][h-1]='x';jiru[g][h-1]=1;qi[g][h-1]=1;break;}}system("cls");shuru();}else{suan();intu,v=0;for(u=1;u<4;u++){if((a[u]==2)&&((b[u]==2)||(c[u]==2))){intz;for(z=0;z<3;z++){if(jiru[u-1][z]==0){game[u-1][z]='x';jiru[u-1][z]=1;qi[u-1][z]=1;}}system("cls");shuru();v++;break;}}if(v==0){for(u=4;u<7;u++){if((a[u]==2)&&((b[u]==2)||(c[u]==2))){intz;for(z=0;z<3;z++){if(jiru[z][u-4]==0){game[z][u-4]='x';jiru[z][u-4]=1;qi[z][u-4]=1;}}system("cls");shuru();v++;break;}}if(v==0){if((a[7]==2)&&((b[7]==2)||(c[7]==2))){if(jiru[0][0]==0){game[0][0]='x';jiru[0][0]=1;qi[0][0]=1;}elseif(jiru[1][1]==0){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}elseif(jiru[2][2]==0){game[2][2]='x';jiru[2][2]=1;qi[2][2]=1;}system("cls");shuru();v++;}}if(v==0){if((a[8]==2)&&((b[8]==2)||(c[8]==2))){if(jiru[0][2]==0){game[0][2]='x';jiru[0][2]=1;qi[0][2]=1;}elseif(jiru[1][1]==0){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}elseif(jiru[2][0]==0){game[2][0]='x';jiru[2][0]=1;qi[2][0]=1;}system("cls");shuru();v++;}if(v==0){for(u=1;u<4;u++){if((a[u]==1)&&(b[u]==1)){intz;for(z=0;z<3;z++){if(jiru[u-1][z]==0){game[u-1][z]='x';jiru[u-1][z]=1;qi[u-1][z]=1;system("cls");shuru();v++;break;}}}}if(v==0){for(u=4;u<7;u++){if((a[u]==1)&&(b[u]==1)){intz;for(z=0;z<3;z++){if(jiru[z][u-4]==0){game[z][u-4]='x';jiru[z][u-4]=1;qi[z][u-4]=1;system("cls");shuru();v++;break;}}}}if(v==0){if((a[7]==1)&&(b[7]==1)&&(c[7]==0)){if((jiru[0][0]==1)&&(jiru[1][1]==0)){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}elseif((jiru[1][1]==1)&&(jiru[2][2]==0)){game[2][2]='x';jiru[2][2]=1;qi[2][2]=1;}elseif((jiru[2][2]==1)&&(jiru[1][1]==0)){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}system("cls");shuru();v++;}if(v==0){if((a[8]==1)&&(b[8]==1)&&(c[8]==0)){if((jiru[0][2]==1)&&(jiru[1][1]==0)){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}elseif((jiru[1][1]==1)&&(jiru[0][2]==0)){game[0][2]='x';jiru[0][2]=1;qi[0][2]=1;}elseif((jiru[2][0]==1)&&(jiru[1][1]==0)){game[1][1]='x';jiru[1][1]=1;qi[1][1]=1;}system("cls");shuru();v++;}if(v==0){intp;for(p=1;p<9;p++){inth,g;h=p%3;g=(p-h)/3;if((jiru[g][h-1]==0)&&(ren[g][h-1]==0)){game[g][h-1]='x';jiru[g][h-1]=1;qi[g][h-1]=1;system("cls");shuru();v++;break;}}system("cls");shuru();}}}}}}}}}voidtishi()//提示{if(i==1){cout<<"建议输入1,3,7,9中的一个"<<endl;}elseif(i==2)
本文标题:井字棋游戏代码
链接地址:https://www.777doc.com/doc-5333495 .html