Example #1
0
        static void Main(string[] args)
        {
            var repeatCount = 1000;
            BattleshipChecker bc = new BattleshipChecker();

            Console.WriteLine("#### Problem 1 ####" );
            var result1 = bc.CheckTopic(problem1, repeatCount);
            PrintResult(result1);

            Console.WriteLine("#### Problem 2 ####");
            var result2 = bc.CheckTopic(problem2, repeatCount);
            PrintResult(result2);

            Console.WriteLine("#### Problem 3 ####");
            var result3 = bc.CheckTopic(problem3, repeatCount);
            PrintResult(result3);

            Console.WriteLine();
            Console.WriteLine("#### Summary ####");
            foreach (var team in result1)
            {
                var teamName = team.Value.TeamName;
                Console.WriteLine(teamName + "\t\t" + sumFireCount(teamName, result1,result2,result3) );
            }

            Console.ReadLine();
        }
        public List<CheckerResult> GetTeam1Object(int sampling )
        {
            var battleshipChecker1 = new BattleshipChecker.BattleshipChecker("c:");
            var result1s = battleshipChecker1.CheckTopic(problem1, sampling);

            var battleshipChecker2 = new BattleshipChecker.BattleshipChecker("c:");
            var result2s = battleshipChecker2.CheckTopic(problem2, sampling);

            var battleshipChecker3 = new BattleshipChecker.BattleshipChecker("c:");
            var result3s = battleshipChecker3.CheckTopic(problem3, sampling);

            List<CheckerResult> checkerResults = new List<CheckerResult>();
            foreach (var item in result1s)
            {
                var result1 = result1s[item.Key];
                var result2 = result2s[item.Key];
                var result3 = result3s[item.Key];
                var isFoul = (result1.FireCount < 0 || result2.FireCount < 0 || result3.FireCount < 0) ? true : false;
                var cr = new CheckerResult()
                {
                    TeamName = result1.TeamName,
                    Problem1 = result1.FireCount,
                    Problem1Time = result1.TimeTaken,
                    Problem2 = result2.FireCount,
                    Problem2Time = result2.TimeTaken,
                    Problem3 = result3.FireCount,
                    Problem3Time = result3.TimeTaken,
                    Sum = isFoul ? 300 : result1.FireCount + result2.FireCount + result3.FireCount,
                    TotalTime = result1.TimeTaken+ result2.TimeTaken+result3.TimeTaken,
                    IsFoul = isFoul
                };
                checkerResults.Add(cr);
            }

            return checkerResults.OrderBy(c => c.Sum).ToList(); ;
        }