示例#1
0
        private ExplainedScore Evaluate(State state, IGameAction action, Countdown countdown, int playerIndex = 0)
        {
            using (action.ApplyTo(state))
            {
                //if (playerIndex == 0)
                //{
                //    var bestEnemyAction = FindBestEnemyAction(state, countdown);
                //    if (bestEnemyAction != null)
                //        using (bestEnemyAction.ApplyTo(state))
                //        {
                var movedCellLocation = state.GetUnits(playerIndex)[action.UnitIndex];
                return(evaluator.Evaluate(state, playerIndex, movedCellLocation));
                //}

                //    {
                //        var movedCellLocation = state.GetUnits(playerIndex)[action.UnitIndex];
                //        return evaluator.Evaluate(state, playerIndex, movedCellLocation);
                //    }
                //}
                //else
                //{
                //    var movedCellLocation = state.GetUnits(playerIndex)[action.UnitIndex];
                //    return evaluator.Evaluate(state, playerIndex, movedCellLocation);
                //}
            }
        }
示例#2
0
 private ExplainedScore Evaluate(State state, IGameAction action)
 {
     using (action.ApplyTo(state))
     {
         return(evaluator.Evaluate(state, 0));
     }
 }
示例#3
0
 public void ConsiderStateBeforeMove(State state, Countdown countdown)
 {
     // countdown нужен на будущее, когда захочется делать тут что-то тяжёлое.
     if (prevState != null)
     {
         prevAction.ApplyTo(prevState);
         RevealFromFog(state, prevState);
     }
     prevState = state.MakeCopy();
 }
示例#4
0
 public void ConsiderStateBeforeMove(State state, Countdown countdown)
 {
     // countdown ����� �� �������, ����� ��������� ������ ��� ���-�� ������.
     if (prevState != null)
     {
         prevAction.ApplyTo(prevState);
         RevealFromFog(state, prevState);
     }
     prevState = state.MakeCopy();
 }