Exemple #1
0
        public void Test_IsFinishedFalse()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworld.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            Assert.IsTrue(level.IsFinished() == false, "level.IsFinished() != false");
        }
Exemple #2
0
        // Sets the data for LevelSet
        private void InitializeGame()
        {
            levelSet = new LevelSet();

            FormLevels formLevels = new FormLevels();

            formLevels.ShowDialog();
            levelSet.SetLevelSet(formLevels.FilenameLevelSet);
            levelSet.CurrentLevel = 1;

            levelSet.SetLevelsInLevelSet(levelSet.Filename);
            level = (Level)levelSet[levelSet.CurrentLevel - 1];
            draw  = new FormDrawing(level);
            // Draw the level on the screen
            DrawLevel();
        }
Exemple #3
0
        public void Test_MoveDragger()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworld.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 1;
            level.SokoPosY = 1;

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 2);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Left);
            Assert.IsTrue(level.SokoPosX == 2);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 2);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 1);
            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 2);
            level.MoveDragger(MoveDirection.Up);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 1);


            Assert.IsTrue(level.LevelMap[2, 2] == ItemType.Package, "First package");
            Assert.IsTrue(level.LevelMap[2, 3] == ItemType.Package, "Second package");
            Assert.IsTrue(level.LevelMap[3, 3] == ItemType.Package, "Third package");
        }
Exemple #4
0
        private static void StartLevel(bool redraw)
        {
            string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\levels\boxworld.xml";

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            level = (Level)levelSet[levelSet.CurrentLevel - 1];
            draw  = new ConsoleDrawing(level);

            if (redraw)
            {
                Console.Clear();
                draw.DrawLevel();
            }
        }
Exemple #5
0
        public void Test_MoveDraggerOnGoal()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldPer.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 5;
            level.SokoPosY = 4;

            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 5);

            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 6);

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 6);
            Assert.IsTrue(level.SokoPosY == 6);

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 7);
            Assert.IsTrue(level.SokoPosY == 6);

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 7);
            Assert.IsTrue(level.SokoPosY == 6);
            Assert.IsTrue(level.LevelMap[8, 6] == ItemType.Wall, " not  Wall");

            level.MoveDragger(MoveDirection.Up);
            Assert.IsTrue(level.SokoPosX == 7);
            Assert.IsTrue(level.SokoPosY == 5);
            Assert.IsTrue(level.LevelMap[7, 5] == ItemType.DraggerOnGoal, " not on goal");
        }
Exemple #6
0
        public void Test_MoveRight()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldMoveRight.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 2;
            level.SokoPosY = 4;

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 3);
            Assert.IsTrue(level.SokoPosY == 4);
        }
Exemple #7
0
        public void Test_DraggerOnGoal()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldOnG.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 5;
            level.SokoPosY = 7;

            level.MoveDragger(MoveDirection.Up);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 6);
        }
Exemple #8
0
        public void Test_LevelConstructor()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworld.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            Assert.IsNotNull(level);
            Assert.IsTrue(level.Name == "BW1", "level.Name!=BW1");
            Assert.IsTrue(level.Width == 9, "level.Width!=9");
            Assert.IsTrue(level.Height == 9, "level.Height!=9");
            Assert.IsTrue(level.NumOfGoals == 3, "level.NumOfGoals!=3");
            Assert.IsTrue(level.LevelNr == 1, "level.LevelNr!=1");
        }
Exemple #9
0
        public void Test_MoveIsUndoable()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldMoveDown.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 5;
            level.SokoPosY = 4;

            level.MoveDragger(MoveDirection.Left);
            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.IsUndoable);
            level.IsUndoable = false;
            Assert.IsFalse(level.IsUndoable);
        }
Exemple #10
0
        public void Test_MoveDraggerOnGoalWithoutPackageDown()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldMoveDown.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 4;
            level.SokoPosY = 5;

            level.MoveDragger(MoveDirection.Right);
            level.MoveDragger(MoveDirection.Down);

            Assert.AreEqual(level.SokoPosX, 5);
            Assert.AreEqual(level.SokoPosY, 6);
        }
Exemple #11
0
        public void Test_MoveLeftPackageOnFloor()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldPer.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.SokoPosX = 5;
            level.SokoPosY = 4;

            level.MoveDragger(MoveDirection.Down);

            level.MoveDragger(MoveDirection.Left);
            Assert.IsTrue(level.SokoPosX == 4);
            Assert.IsTrue(level.SokoPosY == 5);
        }
Exemple #12
0
        public void Test_MoveDraggerIsFinished()
        {
            string path = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.TestDir)) + @"\Dragger.GameEngine.Test\Resources\boxworldPer.xml";

            LevelSet levelSet = new LevelSet();

            levelSet = new LevelSet();
            levelSet.SetLevelSet(path);
            levelSet.CurrentLevel = 1;
            levelSet.SetLevelsInLevelSet(path);

            Level level = (Level)levelSet[levelSet.CurrentLevel - 1];

            level.IsFinished();
            level.SokoPosX = 5;
            level.SokoPosY = 4;

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 6);
            Assert.IsTrue(level.SokoPosY == 4);

            Assert.IsTrue(level.LevelMap[7, 3] == ItemType.Goal, "Not goal");
            Assert.IsTrue(level.LevelMap[7, 4] == ItemType.PackageOnGoal, "Package not on goal");
            Assert.IsTrue(level.LevelMap[7, 5] == ItemType.Goal, "Not goal");

            level.MoveDragger(MoveDirection.Left);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 4);

            level.MoveDragger(MoveDirection.Up);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 3);

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 6);
            Assert.IsTrue(level.SokoPosY == 3);
            Assert.IsTrue(level.LevelMap[7, 3] == ItemType.PackageOnGoal, "Package not on goal");
            Assert.IsTrue(level.LevelMap[7, 4] == ItemType.PackageOnGoal, "Not Package2");
            Assert.IsTrue(level.LevelMap[7, 5] == ItemType.Goal, "Package not on goal");

            level.MoveDragger(MoveDirection.Left);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 3);

            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 4);

            level.MoveDragger(MoveDirection.Down);
            Assert.IsTrue(level.SokoPosX == 5);
            Assert.IsTrue(level.SokoPosY == 5);

            level.MoveDragger(MoveDirection.Right);
            Assert.IsTrue(level.SokoPosX == 6);
            Assert.IsTrue(level.SokoPosY == 5);
            Assert.IsTrue(level.LevelMap[7, 3] == ItemType.PackageOnGoal, "Package not on goal");
            Assert.IsTrue(level.LevelMap[7, 4] == ItemType.PackageOnGoal, "Package not on goal");
            Assert.IsTrue(level.LevelMap[7, 5] == ItemType.PackageOnGoal, "Package not on goal");
            level.IsFinished();
            Assert.IsTrue(level.IsFinished() == true);;
        }