#include <stdio.h>
#include <stdlib.h>
char arr[3][3];
void print()
{
int t;
for(t=0;t<3;t++)
{
printf("%c|%c|%c|",arr[t][0],arr[t][1],arr[t][2]);
printf("\n_|_|_|\n");
}
}
void init()
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
arr[i][j]=' ';
}
}
}
void player_move()
{
int x,y;
printf("请输入您下棋的坐标!");
scanf("%d%d",&x,&y);
x--;
y--;
if(arr[x][y]!=' ' )
{
printf("该位置已被占用,请重新输入!!!\n");
player_move();
}
else
arr[x][y]='X';
}
int computer()
{
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (arr[i][j] == ' ' )
{
arr[i][j]='0';
break;
}
}
break;
}
}
char check()
{
int i;
for(i=0;i<3;i++)
{
if(arr[i][0]==arr[i][1]&&arr[i][1]==arr[i][2])
{
return arr[i][0];
}
}
for(i=0;i<3;i++)
{
if(arr[0][i]==arr[1][i]&&arr[1][i]==arr[2][i])
{
return arr[0][i];
}
}
if(arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2])
{
return arr[0][0];
}
if(arr[0][2]==arr[1][1]&&arr[1][1]==arr[2][0])
{
return arr[0][2];
}
else
{
return ' ';
}
}
int main()
{
char none;
printf("欢迎来到棋盘游戏!\n");
init();
do
{
print();
player_move();
none=check();
if(none!=' ')
break;
computer();
if(none!=' ')
break;
}while(none==' ');
if(none=='X')
{
printf("恭喜您赢了!\n");
}
else
{
printf("电脑赢了!\n");
}
print();
}