三子棋代码 显示未申明标识符,可是明明定义了呀
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#define row 3
#define col 3
void menu()
{
printf("*******************\n");
printf("**1.paly 0.exit**\n");
printf("*******************\n");
}
void game()
{
char arr[row][col]={0};/*空格填充*/
srand((int)time(NULL));
int i=0;
int j=0;
int a=0;
int b=0;
int m=0;
int n=0;
int t=0;
/*打印棋盘*/
for(i=0;i<row;i++)
{
/*打印一行内容*/
for(j=0;j<col;j++)
{
printf(" %c ",arr[i][j]);
if(j<col-1)
printf("|");
}
printf("\n");
if(i<row-1)/*最后一行不需---|*/
{
/*打印第二行内容*/
for(j=0;j<col;j++)
{
printf("---");
if(j<col-1)
printf("|");
}
printf("\n");
}
}
while(1)
{
/*玩家输入坐标*/
while(1)
{
printf("请输入坐标:");
scanf("%d%d",&a,&b);
if((a>0&&a<=row)&&(b>0&&b<=col)&&(arr[a-1][b-1]==' '))
{
arr[a-1][b-1]='*';
break;
}
}
/*判断输赢*/
for(m=0;m<row;m++)
{
if((arr[m][0]==arr[m][1]==arr[m][2])&&arr[m][0]!=' ')
t=arr[m][0];
}
for(m=0;m<row;m++)
{
if((arr[0][m]==arr[1][m]==arr[2][m])&&arr[0][m]!=' ')
t=arr[0][m];
}
if((arr[0][0]==arr[1][1]==arr[2][2])&&arr[0][0]!=' ')
t=arr[m][0];
if((arr[0][2]==arr[1][1]==arr[2][0])&&arr[0][0]!=' ')
t=arr[0][2];
for(m=0;m<row;m++)
{
for(n=0;n<col;n++)
{
if(arr[m][n]!=' ')
{
t=1;
}
}
}
if(t=='*')
{
printf("恭喜你赢啦");
break;
}
else if(t=='#')
{
printf("输了");
break;
}
else if(t==1)
{
printf("平局");
break;
}
/*电脑输入坐标*/
while(1)
{
printf("电脑输入坐标:");
a=rand()%row;
b=rand()%col;
if(arr[a][b]==' ')
{
arr[a][b]='#';
printf("%c",arr[a][b]);
break;
}
}
/* 判断输赢*/
for(m=0;m<row;m++)
{
if((arr[m][0]==arr[m][1]==arr[m][2])&&arr[m][0]!=' ')
t=arr[m][0];
}
for(m=0;m<row;m++)
{
if((arr[0][m]==arr[1][m]==arr[2][m])&&arr[0][m]!=' ')
t=arr[0][m];
}
if((arr[0][0]==arr[1][1]==arr[2][2])&&arr[0][0]!=' ')
t=arr[m][0];
if((arr[0][2]==arr[1][1]==arr[2][0])&&arr[0][0]!=' ')
t=arr[0][2];
for(m=0;m<row;m++)
{
for(n=0;n<col;n++)
{
if(arr[m][n]!=' ')
{
t=1;
}
}
}
if(t=='*')
{
printf("恭喜你赢啦");
break;
}
else if(t=='#')
{
printf("输了");
break;
}
else if(t==1)
{
printf("平局");
break;
}
}
}
int main()
{
int input=0;
menu();
printf("请输入(1/0):");
do
{
scanf("%d",&input);
switch(input)
{
case 1:game();
break;
case 0:printf("退出游戏");
break;
default:printf("请重新输入:");
break;
}
}while(input);
}