protected override int _getOptionValue(FrogsAndToadsPosition position) { return (position .GetPossibleFrogMoves() .Min(x => position.PlayMove(x).GetPossibleToadMoves().Count)); }
private FrogsAndToadsPosition _getMaximumOption(IEnumerable <FrogsAndToadsPosition> playOptions) { // No simple linq version of this FrogsAndToadsPosition bestOption = null; int bestValue = int.MinValue; int optionValue; foreach (FrogsAndToadsPosition option in playOptions) { optionValue = _getOptionValue(option); if (optionValue > bestValue) { bestValue = optionValue; bestOption = option; } } return(bestOption); }
protected override int _getOptionValue(FrogsAndToadsPosition option) { return(_evaluator.RightEvaluation(option)); }
protected abstract int _getOptionValue(FrogsAndToadsPosition option);