コード例 #1
0
        public void TestMoveDown()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase {
                GameMap = new int[100, 100], Borders = new List <int> {
                    0, 0, 100, 100
                }
            };
            int tankInitX = 5, tankInitY = 10;
            var tank    = new List <TankFragment>();
            var gameMap = new int[100, 100];

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Right, gameMap);
            var testList = new List <TankFragment>(tank.Count);

            testList.AddRange(tank.Select(t => new TankFragment(t.X, t.Y)));
            tankEngine.TankMove(tank, MoveDirection.Down, map);
            Assert.IsTrue(testList[0].Y + 1 == tank[0].Y &&
                          testList[1].Y + 1 == tank[1].Y &&
                          testList[2].Y + 1 == tank[2].Y &&
                          testList[3].Y + 1 == tank[3].Y &&
                          testList[4].Y + 1 == tank[4].Y &&
                          testList[5].Y + 1 == tank[5].Y &&
                          testList[6].Y + 1 == tank[6].Y &&
                          testList[7].Y + 1 == tank[7].Y &&
                          testList[8].Y + 1 == tank[8].Y);
        }
コード例 #2
0
        public void TestMoveUp()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 5, tankInitY = 10;
            var tank    = new List <TankFragment>();
            var gameMap = new int[100, 100];

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Right, gameMap);
            var testList = new List <TankFragment>(tank.Count);

            foreach (TankFragment t in tank)
            {
                var item = new TankFragment(t.X, t.Y);
                testList.Add(item);
            }
            tankEngine.TankMove(tank, MoveDirection.Up, map);
            Assert.IsTrue(testList[0].Y - 1 == tank[0].Y &&
                          testList[1].Y - 1 == tank[1].Y &&
                          testList[2].Y - 1 == tank[2].Y &&
                          testList[3].Y - 1 == tank[3].Y &&
                          testList[4].Y - 1 == tank[4].Y &&
                          testList[5].Y - 1 == tank[5].Y &&
                          testList[6].Y - 1 == tank[6].Y &&
                          testList[7].Y - 1 == tank[7].Y &&
                          testList[8].Y - 1 == tank[8].Y);
        }
コード例 #3
0
        public void TestInit()
        {
            int           tankInitX = 5, tankInitY = 10;
            var           tankInitCorrect = false;
            MoveDirection moveDirection   = 0;
            var           tank            = new List <TankFragment>();
            var           tankEngine      = new TankEngine();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Right, new int[100, 100]);
            Assert.IsTrue(tank.Count > 0);
        }
コード例 #4
0
        public void TestNearLeftBorder()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 1, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Left, map.GameMap);
            Assert.IsTrue(tankEngine.TankNearBorder(tank, MoveDirection.Left, map.Borders));
        }
コード例 #5
0
        public void TestDirectionLeftIsBlocked()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 5, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Left, map.GameMap);
            map.GameMap[tank[0].Y, tank[0].X - 1] = 1;
            map.GameMap[tank[1].Y, tank[1].X - 1] = 1;
            map.GameMap[tank[2].Y, tank[2].X - 1] = 1;
            Assert.IsTrue(tankEngine.DirectionIsBlocked(tank, MoveDirection.Left, map));
        }
コード例 #6
0
        public void TestMakeShoot1()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 1, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Left, map.GameMap);
            tankEngine.ShootEnable = false;
            int count = tankEngine.Bullets.Count;

            tankEngine.MakeShoot(tank[1].X - 1, tank[1].Y, MoveDirection.Left);
            Assert.IsTrue(tankEngine.ShootEnable == false);
        }
コード例 #7
0
        public void TestOnErase()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 1, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Left, map.GameMap);
            int i = index;

            tankEngine.TankErase += TestMethod;
            tankEngine.OnTankErase(tank);
            Assert.IsTrue(i + 1 == index);
        }
コード例 #8
0
        public void TestTurnUpDown()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 1, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Left, map.GameMap);
            var testList = new List <TankFragment>(tank.Count);

            testList.AddRange(tank.Select(t => new TankFragment(t.X, t.Y)));
            tankEngine.TankTurn(tank, MoveDirection.Down, MoveDirection.Up);
            Assert.IsTrue(tank[0].X == testList[8].X &&
                          tank[0].Y == testList[8].Y &&
                          tank[1].X == testList[8].X - 1 &&
                          tank[1].Y == testList[8].Y &&
                          tank[2].X == testList[8].X - 2 &&
                          tank[2].Y == testList[8].Y &&
                          tank[3].X == testList[8].X &&
                          tank[3].Y == testList[8].Y - 1 &&
                          tank[4].X == testList[8].X - 1 &&
                          tank[4].Y == testList[8].Y - 1 &&
                          tank[5].X == testList[8].X - 2 &&
                          tank[5].Y == testList[8].Y - 1 &&
                          tank[6].X == testList[8].X &&
                          tank[6].Y == testList[8].Y - 2 &&
                          tank[7].X == testList[8].X - 1 &&
                          tank[7].Y == testList[8].Y - 2 &&
                          tank[8].X == testList[8].X - 2 &&
                          tank[8].Y == testList[8].Y - 2);
        }
コード例 #9
0
        public void TestDeleteFromMap()
        {
            var tankEngine = new TankEngine();
            var map        = new MapBase();

            map.GameMap = new int[100, 100];
            map.Borders = new List <int> {
                0, 0, 100, 100
            };
            int tankInitX = 5, tankInitY = 10;
            var tank = new List <TankFragment>();

            tankEngine.TankInit(out tank, tankInitX, tankInitY, MoveDirection.Right, map.GameMap);
            tankEngine.TankDeleteFromMap(tank, map);
            Assert.IsTrue(map.GameMap[tank[0].Y, tank[0].X] == 0 &&
                          map.GameMap[tank[1].Y, tank[1].X] == 0 &&
                          map.GameMap[tank[2].Y, tank[2].X] == 0 &&
                          map.GameMap[tank[3].Y, tank[3].X] == 0 &&
                          map.GameMap[tank[4].Y, tank[4].X] == 0 &&
                          map.GameMap[tank[5].Y, tank[5].X] == 0 &&
                          map.GameMap[tank[6].Y, tank[6].X] == 0 &&
                          map.GameMap[tank[7].Y, tank[7].X] == 0 &&
                          map.GameMap[tank[8].Y, tank[8].X] == 0);
        }