【文件属性】:
文件名称:极小值极大值井字棋
文件大小:7KB
文件格式:TXT
更新时间:2020-12-15 17:49:01
极小值极大值 井字棋
//评估函数
int evaluteMap() {
bool flag = true;
int i, j;
if (isWin() == COM)
return MAX_NUM;//如果计算机赢了,返回最大值
if (isWin() == MAN)
return -MAX_NUM;//如果计算机输了,返回最小值
//for (i = 0; i < 3; i++)
// for (j = 0; j < 3; j++)
// if (board[i][j] == 0)
// {
// flag = false;
// break;
// }
//if (flag) //如果Flag为真 , 棋盘都满了 就退出
// return 0;
int count = 0;//该变量用来表示评估函数的值
//将棋盘中的空格填满自己的棋子,既将棋盘数组中的0变为1
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
if (board[i][j] == 0)
tempBoard[i][j] = COM;
else
tempBoard[i][j] = board[i][j];
}
//电脑一方
//计算每一行中有多少行的棋子连成3个的
for (i = 0; i < 3; i++)
count += (tempBoard[i][0] + tempBoard[i][1] + tempBoard[i][2]) / 3;
for (i = 0; i < 3; i++)