#include<bits/stdc++.h>
using namespace std;
int qipan[10];
char qizi[10];
int first;
int your;
int checkqi(int a[]);
int main()
{
for(int i=1;i<=9;i++)
{
qipan[i]=0;
}
for(int i=1;i<=9;i++)
{
qizi[i]=' ';
}
time(0); srand((unsigned int)time(0));
first=rand()%9+1;
qipan[first]=2;//AI第一次下棋 先手
L1:for(int i=1;i<=9;i++)//判断各位置的棋子
{
if(qipan[i]==1)
{
qizi[i]='o';
}
if(qipan[i]==2)
{
qizi[i]='x';
}
if(qipan[i]==0)
{
qizi[i]=' ';
}
}
cout<<"┏━┳━━┳━┓"<<endl;
cout<<"┃"<<qizi[1]<<" ┃"<<qizi[2] <<" ┃"<<qizi[3]<<" ┃"<<endl;
cout<<"┠━╂━━╂━┨"<<endl;
cout<<"┃"<<qizi[4]<<" ┃"<<qizi[5] <<" ┃"<<qizi[6]<<" ┃"<<endl;
cout<<"┠━╂━━╂━┨"<<endl;
cout<<"┃"<<qizi[7]<<" ┃"<<qizi[8] <<" ┃"<<qizi[9]<<" ┃"<<endl;
cout<<"┗━┻━━┻━┛"<<endl;
cout<<"轮到你下了...输入1-9...";cin>>your;
while(1)
{
if(qipan[your]!=0)
{
cout<<"这里已经有棋子了,请重新输入...";
cin>>your;
}
else
{
break;
}
}
if(checkqi(qipan[10])==1)
{
cout<<"你赢了!";
return 0;
}
if(checkqi(qipan[10])==2)
{
cout<<"AI赢了!";
return 0;
}
goto L1;
}
int checkqi(int a[])
{
if((a[1]==1)&&(a[5]==1)&&(a[9])==1)
return 1;
if((a[1]==1)&&(a[2]==1)&&(a[3])==1)
return 1;
if((a[1]==1)&&(a[4]==1)&&(a[7])==1)
return 1;
if((a[2]==1)&&(a[5]==1)&&(a[8])==1)
return 1;
if((a[3]==1)&&(a[6]==1)&&(a[9])==1)
return 1;
if((a[3]==1)&&(a[5]==1)&&(a[7])==1)
return 1;
if((a[7]==1)&&(a[8]==1)&&(a[9])==1)
return 1;
if((a[4]==1)&&(a[5]==2)&&(a[6])==1)
return 1;
if((a[1]==2)&&(a[5]==2)&&(a[9])==2)
return 2;
if((a[1]==2)&&(a[2]==2)&&(a[3])==2)
return 2;
if((a[1]==2)&&(a[4]==2)&&(a[7])==2)
return 2;
if((a[2]==2)&&(a[5]==2)&&(a[8])==2)
return 2;
if((a[3]==2)&&(a[6]==2)&&(a[9])==2)
return 2;
if((a[3]==2)&&(a[5]==2)&&(a[7])==2)
return 2;
if((a[7]==2)&&(a[8]==2)&&(a[9])==2)
return 2;
if((a[4]==2)&&(a[5]==2)&&(a[6])==2)
return 2;
return 0;
}
井字棋程序还没有编完
【求助啊】c++一直报错[Error] invalid conversion from 'int' to...
if (checkqi(qipan[10])==1 )你的checkqi()函数输入参数明明是个指针,结果你非要把个整型数据当指针送进去。这不是自己找当机么……