Ejemplo n.º 1
0
        public void ManualTestPathFinding()
        {
            const string TEST_MAP3 = "###########################################\n" +
                                     "#   F    F                            #   #\n" +
                                     "#  R                                  #   #\n" +
                                     "#     ##################       ########   #\n" +
                                     "#     #                #          F   #   #\n" +
                                     "#     #  F   #         #     ###      #   #\n" +
                                     "    C #      #####     #     #    #       #\n" +
                                     "#     #######        ###   ###    #       #\n" +
                                     "#                                 #   ##  #\n" +
                                     "#      ####                   #   #\n" +
                                     "###########################################";
            Map mapTest = Map.ParseMap(TEST_MAP3);
            Rat ratTest = new Rat();
            Cat catTest = new Cat();

            ratTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(1));
            catTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(2));
            Tuple <Coordinates, int> catMove = catTest.GetDirection();
            Tuple <Coordinates, int> ratMove = ratTest.GetDirection();

            Assert.AreEqual(1, ratMove.Item2);
            Assert.AreEqual(4, ratMove.Item1.X);
            Assert.AreEqual(1, ratMove.Item1.Y);

            //Assert.AreEqual(3, catMove.Item2);
            //Assert.AreEqual(4, catMove.Item1.X);
            //Assert.AreEqual(5, catMove.Item1.Y);
        }
Ejemplo n.º 2
0
        public void TestPathFinding()
        {
            const string TEST_MAP =
                "###########################################\n" +
                "#   F    F               C            #   #\n" +
                "#                                     # R #\n" +
                "#     ##################       ########   #\n" +
                "#     #          R     #          F   #   #\n" +
                "#     #  F   #         #     ###      #   #\n" +
                "      #      #####     #     #    #       #\n" +
                "#     #######        ###   ###    #       #\n" +
                "# R                               #   ##  #\n" +
                "#      ####         C         #   #\n" +
                "###########################################";
            Map mapTest  = Map.ParseMap(TEST_MAP);
            Rat ratTest  = new Rat();
            Rat ratTest2 = new Rat();
            Rat ratTest3 = new Rat();
            Cat catTest  = new Cat();
            Cat catTest2 = new Cat();

            ratTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(1));
            Tuple <Coordinates, int> ratMove = ratTest.GetDirection();

            ratTest2.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(2));
            ratTest3.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(3));
            catTest2.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(4));
            catTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(5));
            Tuple <Coordinates, int> catMove  = catTest.GetDirection();
            Tuple <Coordinates, int> catMove2 = catTest2.GetDirection();
            Tuple <Coordinates, int> ratMove2 = ratTest2.GetDirection();
            Tuple <Coordinates, int> ratMove3 = ratTest3.GetDirection();

            Assert.AreEqual(8, catMove.Item2);
            Assert.AreEqual(20, catMove.Item1.X);
            Assert.AreEqual(8, catMove.Item1.Y);

            Assert.AreEqual(19, catMove2.Item2);
            Assert.AreEqual(25, catMove2.Item1.X);
            Assert.AreEqual(2, catMove2.Item1.Y);

            Assert.AreEqual(8, ratMove.Item2);
            Assert.AreEqual(40, ratMove.Item1.X);
            Assert.AreEqual(3, ratMove.Item1.Y);

            // First move.
            Assert.AreEqual(8, ratMove2.Item2);
            Assert.AreEqual(16, ratMove2.Item1.X);
            Assert.AreEqual(5, ratMove2.Item1.Y);
            // Second move.
            //ratMove2 = ratTest2.GetDirection(true);
            //Assert.AreEqual(7, ratMove2.Item2);
            //Assert.AreEqual(15, ratMove2.Item1.X);
            //Assert.AreEqual(4, ratMove2.Item1.Y);
            // Third move.
            //Assert.AreEqual(6, ratMove2.Item2);
            //Assert.AreEqual(14, ratMove2.Item1.X);
            //Assert.AreEqual(5, ratMove2.Item1.Y);
            // Forth move.
            //Assert.AreEqual(5, ratMove2.Item2);
            //Assert.AreEqual(13, ratMove2.Item1.X);
            //Assert.AreEqual(4, ratMove2.Item1.Y);

            Assert.AreEqual(7, ratMove3.Item2);
            Assert.AreEqual(2, ratMove3.Item1.X);
            Assert.AreEqual(7, ratMove3.Item1.Y);
        }