コード例 #1
0
ファイル: DefendAdviserTests.cs プロジェクト: rhiensch/pwbot
        public void TestDefendPlanetUnderAttack()
        {
            PlanetWars planetWars = new PlanetWars(
                "P 11.6135908004 11.6587374197 0 119 0#0\n" +
                "P 1.2902863101 9.04078582767 1 40 5#1\n" +
                "P 21.9368952907 14.2766890117 2 100 5#2\n" +
                "P 2.64835767563 10.2659924733 1 31 4#3\n" +
                "P 17.5788239251 5.05148236609 0 21 4#4\n" +
                "F 1 25 1 4 5 3\n" +
                "F 1 50 1 2 10 1\n" +
                "F 2 70 2 1 5 3\n" +
                "go\n");

            DefendAdviser adviser = new DefendAdviser(planetWars);
            Moves moves = adviser.Run(planetWars.GetPlanet(1));

            Assert.AreEqual(1, moves.Count);
            Assert.AreEqual(3, moves[0].SourceID);
            Assert.AreEqual(1, moves[0].DestinationID);
            Assert.AreEqual(15 + Config.MinShipsOnPlanetsAfterDefend, moves[0].NumShips);
        }
コード例 #2
0
ファイル: DefendAdviserTests.cs プロジェクト: rhiensch/pwbot
        public void TestNoExtraDefence()
        {
            PlanetWars planetWars = new PlanetWars(
                "P 10.619331099 20.0028830106 1 122 5#0\n" +
                "P 10.6897926 1.87550420275 2 18 5#1\n" +
                "P 6.42926362386 21.4118201349 1 5 4#2\n" +
                "F 2 50 1 2 20 14\n" +
                "F 2 27 1 2 20 15\n" +
                "F 2 16 1 2 20 16\n" +
                "F 2 11 1 2 20 17\n" +
                "F 2 8 1 2 20 18\n" +
                "go\n");

            DefendAdviser adviser = new DefendAdviser(planetWars);
            Moves moves = adviser.Run(planetWars.GetPlanet(2));

            int totalCount = 0;
            foreach (Move move in moves)
            {
                Assert.AreEqual(2, moves[0].DestinationID);
                totalCount = totalCount + move.NumShips;
            }

            Assert.AreEqual(12 + Config.MinShipsOnPlanetsAfterDefend, totalCount);
        }