【发布时间】:2010-09-04 04:27:16
【问题描述】:
我正在尝试为跳棋游戏编写一些 AI。我想选择棋盘得分最高的棋子。
需要这样的东西:
var bestMove = from m in validMoves
where BoardScore(opp, board.Clone().ApplyMove(m)) is max
select m
除了我无法弄清楚“最大”部分。更希望它返回单个项目而不是枚举。
基本上相当于这样:
Move bestMove = null;
float highestScore = float.MinValue;
foreach (var move in validMoves)
{
float score = BoardScore(opp, board.Clone().ApplyMove(move));
if (score > highestScore)
{
highestScore = score;
bestMove = move;
}
}
【问题讨论】: