|
|
|
@ -89,8 +89,8 @@ void player_act(char arr[3][3]) //
|
|
|
|
|
scanf("%d,%d", &x, &y);
|
|
|
|
|
if(arr[--x][--y] == ' ')
|
|
|
|
|
{
|
|
|
|
|
arr[x][y] = 'O';
|
|
|
|
|
break;
|
|
|
|
|
arr[x][y] = 'O';
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -99,7 +99,7 @@ void player_act(char arr[3][3]) //
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void computer_act(char arr[3][3]) //电脑行动
|
|
|
|
|
void computer_act_easy(char arr[3][3]) //电脑行动
|
|
|
|
|
{
|
|
|
|
|
srand((unsigned)time(NULL));//用系统时间初始化随机数种子
|
|
|
|
|
while (1)//无限循环直到遇到break退出
|
|
|
|
@ -113,3 +113,54 @@ void computer_act(char arr[3][3]) //
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void mode()
|
|
|
|
|
{
|
|
|
|
|
printf("****************************\n");
|
|
|
|
|
printf("** 1. 简单模式 **\n");
|
|
|
|
|
printf("** 2. 困难模式 **\n");
|
|
|
|
|
printf("****************************\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void computer_act_hard(char arr[3][3])
|
|
|
|
|
{
|
|
|
|
|
int value[3][3];
|
|
|
|
|
int i, j, m, count_X, count_O, count_;
|
|
|
|
|
for(i = 0; i < 3; i++)
|
|
|
|
|
{
|
|
|
|
|
for(j = 0; j < 3; j++)
|
|
|
|
|
{
|
|
|
|
|
if(arr[i][j] == ' ')
|
|
|
|
|
{
|
|
|
|
|
if(i - j == 1 || j - i == 1) //不在对角线上的点
|
|
|
|
|
{
|
|
|
|
|
for(m = 0; m < 3; m++)
|
|
|
|
|
arr[i][m] == 'O' ? count_O++ : arr[i][m] == 'X' ? count_X++ : count_++;
|
|
|
|
|
if(count_X == 2) value[i][j] = 6;
|
|
|
|
|
else if(count_O == 2) value[i][j] = 5;
|
|
|
|
|
else if(count_X == 1 && count_ == 1) value[i][j] = 4;
|
|
|
|
|
else if(count_O == 1 && count_ == 1) value[i][j] = 3;
|
|
|
|
|
else if(count_ == 2) value[i][j] = 2;
|
|
|
|
|
else value[i][j] = 1;
|
|
|
|
|
count_O = count_X = count_ = 0;
|
|
|
|
|
for(m = 0; m < 3; m++)
|
|
|
|
|
arr[m][j] == 'O' ? count_O++ : arr[m][j] == 'X' ? count_X++ : count_++;
|
|
|
|
|
if(count_X == 2) value[i][j] = 6;
|
|
|
|
|
else if(count_O == 2) value[i][j] = 5;
|
|
|
|
|
else if(count_X == 1 && count_ == 1) value[i][j] = 4;
|
|
|
|
|
else if(count_O == 1 && count_ == 1) value[i][j] = 3;
|
|
|
|
|
else if(count_ == 2) value[i][j] = 2;
|
|
|
|
|
else value[i][j] = 1;
|
|
|
|
|
count_O = count_X = count_ = 0;
|
|
|
|
|
}
|
|
|
|
|
/*else if()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
value[i][j] = 0;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|