#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
#include<time.h>
//头文件
void mulu();
void game();
void qige();
void wanjiazou(char arr[3][3]);
void ai(char arr[3][3]);
int panduan(char arr[3][3]);
void q(char arr[3][3]);
void w(char arr[3][3]);
void e(char arr[3][3]);
int bu(char arr[3][3]);
int brr[3][3]= {0};
int ying(char arr[3][3]);
int test1=0,test2=0,test3=0;
//函数名
int main()
{
mulu();
game();
return 0;
}
// 主函数
void mulu()
{
int a;
printf("欢迎来到摇明白牌三子棋,18岁以下自行离开;\n出品人:不要皮蛋不要粥\n感谢朱大队长的友情帮助!!!");
Sleep(3000);
system("cls");
printf("玩游戏,请输入1\n怕了,请输入2\n");
en:
scanf("%d",&a);
if(a==2)
{
printf("你清高,了不起,,,哈哈!!1\n该玩还得玩\n");
Sleep(3000);
}
if(a!=2&&a!=1)
{
printf("听不懂是吧?\n输入1或2\n");
goto en;
}
system("cls");
}
void game()
{
int i,j,test=0,a,t;
char arr[3][3];
o:
for(i=0; i<=2; i++)
{
for(j=0; j<=2; j++)
{
arr[i][j]=' ';
}
}
printf("鸡汤来咯、\输入你要想下的棋的坐标\n如;2 1\为第二行第一个\n");
while(1)
{
qige(arr);
wanjiazou(arr);
test=panduan(arr);
if(test==1)
break;
system("cls");
ai(arr);
test=panduan(arr);
if(test==1)
break;
}
printf("再来,输入1\n我不行了,我认输,输入0退出\n");
p:
scanf("%d",&a);
if(a==1)
{
test1=0;
test2=0;
test=0;
for(i=0; i<=2; i++)
{
for(j=0; j<=2; j++)
{
brr[i][j]=0;
}
}
goto o;
}
else if(a==0)
{
srand((unsigned)time(NULL));
t=rand()%6;
if(t==1)
{
printf("穿过挪威的森林 让我走进你的梦里 夕阳落在我的铠甲 王子不一定骑着白马 next to meet you \n");
}
else if(t==2)
{
printf("原来,这世间最残忍的离别,只是看着你离开,却无法挽留");
}
else if(t==3)
{
printf("你的身影是帆,我的目光是河流,多少次想挽留你,终不能够");
}
else if(t==4)
{
printf("At the end of the story, my sweetheart is from afar");
}
else if(t==5)
{
printf("All you want and wish is well.所想所愿,一切安好");
}
else if(t==6)
{
printf("where there is a will, there is a way.");
}
}
else
{
printf("咋了?神志不清了?输个1或0都理解不了了?\n");
goto p;
}
}
void qige(char arr[3][3])
{
printf(" %c | %c | %c \n",arr[0][0],arr[0][1],arr[0][2]);
printf("------------\n");
printf(" %c | %c | %c \n",arr[1][0],arr[1][1],arr[1][2]);
printf("------------\n");
printf(" %c | %c | %c \n",arr[2][0],arr[2][1],arr[2][2]);
}
void wanjiazou(char arr[3][3])
{
int a,b;
ea:
scanf("%d %d",&a,&b);
if(1<=a&&a<=3&&b<=3&&b>=1)
{
if(arr[a-1][b-1]==' ')
arr[a-1][b-1]='@';
else
{
printf("我就没见过三子棋还能吃人家字的,,,\n");
goto ea;
}
}
else
{
printf("请输入正确的格式行数空格列数\n");
goto ea;
}
}
int panduan(char arr[3][3])
{
int i;
for(i=0; i<=2; i++)
{
if(arr[i][0]==arr[i][1]&&arr[i][1]==arr[i][2]&&arr[i][0]!=' ')
{
if(arr[i][1]=='@')
{
printf("不愧是双料高级特工,你赢了、\n");
return 1;
}
else if(arr[i][1]=='#')
{
printf("我实在是没想到你会输\n");
return 1;
}
}
if(arr[0][i]==arr[1][i]&&arr[1][i]==arr[2][i]&&arr[0][i]!=' ')
{
if(arr[1][i]=='@')
{
printf("不愧是双料高级特工,你赢了、\n");
return 1;
}
else if(arr[1][i]=='#')
{
printf("我懂,你故意输的,对不对?\n");
return 1;
}
}
}
if((arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2]&&arr[1][1]!=' ')||(arr[0][2]==arr[1][1]&&arr[1][1]==arr[2][0]&&arr[1][1]!=' '))
{
if(arr[1][1]=='@')
{
printf("不愧是双料高级特工,你赢了、\n");
return 1;
}
else if(arr[1][1]=='#')
{
printf("好不容易认真一次,你却输的这么彻底,炒!!!!\n");
return 1;
}
}
if(arr[0][0]!=' '&&arr[0][1]!=' '&&arr[0][2]!=' '&&arr[1][0]!=' '&&arr[1][1]!=' '&&arr[1][2]!=' '&&arr[2][0]!=' '&&arr[2][1]!=' '&&arr[2][2]!=' ')
{
printf("平局了,让你先手还赢不了,憨憨!\n");
return 1;
}
return 0;
}
void ai(char arr[3][3])
{
if(test1==0&&(arr[0][0]=='@'||arr[0][2]=='@'||arr[2][0]=='@'||arr[2][2]=='@'))
{
test1=1;
}
else if(test1==0&&(arr[1][1]=='@'))
{
test1=2;
}
else if(test1==0&&(arr[0][1]=='@'||arr[1][0]=='@'||arr[1][2]=='@'||arr[2][1]))
{
test1=3;
}
if(test1==1)
q(arr);
else if(test1==2)
w(arr);
else if(test1==3)
e(arr);
}
void q(char arr[3][3])
{
int t=0;
t=ying(arr);
if (t==0)
t=bu(arr);
if(t==0)
{
if(arr[1][1]==' ')
{
arr[1][1]='#';
}
else
{
if((arr[0][1]=='@'||arr[1][0]=='@'||arr[1][2]=='@'||arr[2][1]=='@')||test2==1)
{
test2++;
if(arr[0][2]==' ')
{
arr[0][2]='#';
}
else if(arr[0][0]==' ')
{
arr[0][0]='#';
}
else if(arr[2][1]==' ')
{
arr[2][1]='#';
}
else if(arr[2][2]==' ')
{
arr[2][2]='#';
}
}
else
{
if(arr[0][1]==' ')
{
arr[0][1]='#';
}
else if(arr[1][0]==' ')
{
arr[1][0]='#';
}
else if(arr[1][2]==' ')
{
arr[1][2]='#';
}
else if(arr[2][1]==' ')
{
arr[2][1]='#';
}
}
}
}
}
void w(char arr[3][3])
{
int t=0;
t=ying(arr);
if (t==0)
t=bu(arr);
if(t==0)
{
if((arr[0][1]!='@'&&arr[1][0]!='@'&&arr[1][2]!='@'&&arr[2][1]!='@'))
{
if(arr[0][0]==' ')
{
arr[0][0]='#';
}
else if(arr[0][2]==' ')
{
arr[0][2]='#';
}
else if(arr[2][0]==' ')
{
arr[2][0]='#';
}
else if(arr[2][2]==' ')
{
arr[2][2]='#';
}
}
else
{
if(arr[0][1]==' ')
{
arr[0][1]='#';
}
else if(arr[1][0]==' ')
{
arr[1][0]='#';
}
else if(arr[1][2]==' ')
{
arr[1][2]='#';
}
else if(arr[2][1]==' ')
{
arr[2][1]='#';
}
}
}
}
void e(char arr[3][3])
{
int t=0;
t=ying(arr);
if (t==0)
t=bu(arr);
if(t==0&&arr[1][1]==' ')
{
arr[1][1]='#';
}
else if(t==0)
{
if((arr[0][0]!='@'&&arr[0][2]!='@'&&arr[2][0]!='@'&&arr[2][2]!='@'))
{
if(arr[0][0]==' ')
{
arr[0][0]='#';
}
else if(arr[0][2]==' ')
{
arr[0][2]='#';
}
else if(arr[2][0]==' ')
{
arr[2][0]='#';
}
else if(arr[2][2]==' ')
{
arr[2][2]='#';
}
}
else
{
if(arr[0][1]==' ')
{
arr[0][1]='#';
}
else if(arr[1][0]==' ')
{
arr[1][0]='#';
}
else if(arr[1][2]==' ')
{
arr[1][2]='#';
}
else if(arr[2][1]==' ')
{
arr[2][1]='#';
}
}
}
}
int bu(char arr[3][3])
{
if((arr[0][0]==' ')&&((arr[0][1]==arr[0][2]&&arr[0][1]=='@')||(arr[1][0]==arr[2][0]&&arr[1][0]=='@')||(arr[1][1]==arr[2][2]&&arr[1][1]=='@')))
{
arr[0][0]='#';
return 1;
}
else if((arr[0][1]==' ')&&((arr[0][0]==arr[0][2]&&arr[0][0]=='@')||(arr[1][1]==arr[2][1]&&arr[1][1]=='@')))
{
arr[0][1]='#';
return 1;
}
else if((arr[0][2]==' ')&&((arr[0][1]==arr[0][0]&&arr[0][0]=='@')||(arr[1][1]==arr[2][0]&&arr[1][1]=='@')||(arr[1][2]==arr[2][2]&&arr[1][2]=='@')))
{
arr[0][2]='#';
return 1;
}
else if((arr[1][0]==' ')&&((arr[1][1]==arr[1][2]&&arr[1][1]=='@')||(arr[0][0]==arr[2][0]&&arr[0][0]=='@')))
{
arr[1][0]='#';
return 1;
}
else if((arr[1][1]==' ')&&((arr[0][0]==arr[2][2]&&arr[0][0]=='@')||(arr[0][1]==arr[2][1]&&arr[0][1]=='@')||(arr[0][2]==arr[2][0]&&arr[0][2]=='@')||(arr[1][0]==arr[1][2]&&arr[1][0]=='@')))
{
arr[1][1]='#';
return 1;
}
else if((arr[1][2]==' ')&&((arr[1][0]==arr[1][1]&&arr[1][0]=='@')||(arr[0][2]==arr[2][2]&&arr[2][2]=='@')))
{
arr[1][2]='#';
return 1;
}
else if((arr[2][0]==' ')&&((arr[2][1]==arr[2][2]&&arr[2][1]=='@')||(arr[0][0]==arr[1][0]&&arr[0][0]=='@')||(arr[1][1]==arr[0][2]&&arr[1][1]=='@')))
{
arr[2][0]='#';
return 1;
}
else if((arr[2][1]==' ')&&((arr[2][0]==arr[2][2]&&arr[2][0]=='@')||(arr[1][1]==arr[0][1]&&arr[1][1]=='@')))
{
arr[2][1]='#';
return 1;
}
else if((arr[2][2]==' ')&&((arr[2][0]==arr[2][1]&&arr[2][0]=='#')||(arr[1][1]==arr[0][0]&&arr[0][0]=='#')||(arr[0][2]==arr[1][2]&&arr[0][2]=='#')))
{
arr[2][2]='#';
return 1;
}
return 0;
}
int ying(char arr[3][3])
{
if((arr[0][0]==' ')&&((arr[0][1]==arr[0][2]&&arr[0][1]=='#')||(arr[1][0]==arr[2][0]&&arr[1][0]=='#')||(arr[1][1]==arr[2][2]&&arr[1][1]=='#')))
{
arr[0][0]='#';
return 1;
}
else if((arr[0][1]==' ')&&((arr[0][0]==arr[0][2]&&arr[0][0]=='#')||(arr[1][1]==arr[2][1]&&arr[1][1]=='#')))
{
arr[0][1]='#';
return 1;
}
else if((arr[0][2]==' ')&&((arr[0][1]==arr[0][0]&&arr[0][0]=='#')||(arr[1][1]==arr[2][0]&&arr[1][1]=='#')||(arr[1][2]==arr[2][2]&&arr[1][2]=='#')))
{
arr[0][2]='#';
return 1;
}
else if((arr[1][0]==' ')&&((arr[1][1]==arr[1][2]&&arr[1][1]=='#')||(arr[0][0]==arr[2][0]&&arr[0][0]=='#')))
{
arr[1][0]='#';
return 1;
}
else if((arr[1][1]==' ')&&((arr[0][0]==arr[2][2]&&arr[0][0]=='#')||(arr[0][1]==arr[2][1]&&arr[0][1]=='#')||(arr[0][2]==arr[2][0]&&arr[0][2]=='#')||(arr[1][0]==arr[1][2]&&arr[1][0]=='#')))
{
arr[1][1]='#';
return 1;
}
else if((arr[1][2]==' ')&&((arr[1][0]==arr[1][1]&&arr[1][0]=='#')||(arr[0][2]==arr[2][2]&&arr[2][2]=='#')))
{
arr[1][2]='#';
return 1;
}
else if((arr[2][0]==' ')&&((arr[2][1]==arr[2][2]&&arr[2][1]=='#')||(arr[0][0]==arr[1][0]&&arr[0][0]=='#')||(arr[1][1]==arr[0][2]&&arr[1][1]=='#')))
{
arr[2][0]='#';
return 1;
}
else if((arr[2][1]==' ')&&((arr[2][0]==arr[2][2]&&arr[2][0]=='#')||(arr[1][1]==arr[0][1]&&arr[1][1]=='#')))
{
arr[2][1]='#';
return 1;
}
else if((arr[2][2]==' ')&&((arr[2][0]==arr[2][1]&&arr[2][0]=='#')||(arr[1][1]==arr[0][0]&&arr[0][0]=='#')||(arr[0][2]==arr[1][2]&&arr[0][2]=='#')))
{
arr[2][2]='#';
return 1;
}
return 0;
}
//函数体
三子棋,c语言小游戏,欢迎指导与借鉴
最新推荐文章于 2024-08-20 20:01:22 发布