【发布时间】:2013-08-23 12:36:39
【问题描述】:
我决定制作一个井字游戏的 C 程序。我现在正在尝试让 AI 无敌,但我遇到了问题。
我写了这个:
int getFutureScoreOfMove(char square[][columns], char turn)
{
int row, column, curBestScore, score;
if(turn == 'C') curBestScore = -100;
else curBestScore = 100;
for(i = 0; i < 3; i ++)
{
for(j = 0; j < 3; j++)
{
if(square[i][j] == ' ')
{
if(turn == 'C')
{
square[i][j] = 'X';
score = getFutureScoreOfMove(board, 'U');
square[i][j] = ' ';
}
else
{
square[i][j] = 'O';
score = getFutureScoreOfMove(board, 'C');
square[i][j] = ' ';
}
if(turn == 'C' && score > curBestScore) curBestScore = score;
if(turn == 'U' && score < curBestScore) curBestScore = score;
}
}
}
return(curBestScore);
}
代码有问题,因为它不是无敌的AI,而且是无效的。为什么?我该如何解决?
谢谢你:)
【问题讨论】:
-
请不要破坏性地编辑您的问题,尤其是在人们花时间添加答案之后。 (如果这个问题没有价值 - 删除它。)
-
对不起,我不会再这样做了,它不会让我删除它
标签: c recursion pseudocode tic-tac-toe scoring