Пример #1
0
        private Move MakeYourMove(IPlayer you, IPlayer opponent, GameRules rules)
        {
            Move yourMove = null;
            try
            {
                History.StoreMoves(you, opponent);
                Analyzer.Analyze(you);

                if (Analyzer.CurrentConfidence.Equals(Confidence.VeryConfident))
                    yourMove = Analyzer.BestGuess;
                else
                    yourMove = you.GetRandomDynamiteMove();
            }
            catch (Exception e)
            {
                you.LogError(e);
                yourMove = you.GetRandomDynamiteMove();
            }

            if (yourMove.Equals(Moves.Dynamite)) yourMove = you.GetDynamiteMove();
            else if (yourMove.Equals(Moves.WaterBalloon)) yourMove = opponent.GetWaterBalloonMove();

            you.LogLine("  BG: {0} and CC: {1} with {2} dynamite remaining.",
                Analyzer.BestGuess.ToInitialString(),
                Analyzer.CurrentConfidence,
                you.DynamiteRemaining);

            return yourMove;
        }