C语言设计,井字棋
C语言设计,井字棋
#include
#include
#include
#include
#include
#include
#include
const char a[3][4]={" ","○","×"};
char b[10]; //1人类输入,2为电脑输入
int n; //条件
char n1,n2; //计算机等级 (1)入门级 (2)初级 (3)中级 (4)高级 (5)无敌
long com1,com2,com3;
main()
{
void conditions();
void output();
void computer1();
void computer2();
int i,m;
int pc;
long pd;
char pt,pe;
srand(time(NULL));
system("title 智能电脑之井字棋");
system("color 2f");
loop3:
system("cls");
n=0;
com1=0;
com2=0;
com3=0;
for(i=0;i<10;i++)
{b[i]=0;}
printf("请选择方式 (1)人类对电脑 (2)人类对人类 (3)智能电脑对智能电脑:");
scanf(" %d",&pd);
if(pd==1)
{printf("请选择电脑的能力 (1)入门级 (2)初级 (3)中级 (4)高级 (5)无敌:");
loopb:
scanf(" %c",&n1);
if(n1<=48 || n1>=54)
{printf("输入不正确,请重输!: ");
goto loopb;
}
}
else if(pd==3 || pd==800000)
{printf("请选择电脑1的能力 (1)入门级 (2)初级 (3)中级 (4)高级 (5)无敌:");
loopc:
scanf(" %c",&n1);
if(n1<=48 || n1>=54)
{printf("输入不正确,请重输!: ");
goto loopc;
}
printf("请选择电脑2的能力 (1)入门级 (2)初级 (3)中级 (4)高级 (5)无敌:");
loopd:
scanf(" %c",&n2);
if(n2<=48 || n2>=54)
{printf("输入不正确,请重输!: ");
goto loopd;
}
}
if(pd==1) //人类对电脑
{
loope:
printf("请选择那个先出战 (1)人类 (2)电脑:");
scanf(" %c",&pe);
if(pe==49)
{
pc=1;
goto loop1;
}
else if(pe==50)
{
pc=2;
goto loop6;
}
{
printf("输入不正确,请重输!:");
goto loope;
}
loop1:
output();
loop2:
printf("请输入井字格的位置(用数字1-9):");
scanf(" %c",&pe);
if(pe>=49 && pe<=57)
{
m=(int)pe-48;
}
else
{printf("输入错误,请输入1-9范围!\n");
goto loop2;
}
if(b[m]!=0)
{
printf("错误,人类和电脑已输入过!\n");
goto loop2;
}
else goto loop7;
loop7:
b[m]=1;
conditions();
if (n==1)
{
output();
printf("恭喜你超越了计算机!\n");
goto loop4;
}
else if(n==3)
{
output();
printf("和局,不错不错!\n");
goto loop4;
}
else
{
loop6:
computer1();
conditions();
if (n==2)
{
output();
printf("你输了,努力吧!\n");
goto loop4;
}
else if(n==3)
{
output();
printf("和局,不错不错!\n");
goto loop4;
}
else
{
goto