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; }