Ejemplo n.º 1
0
 public void should_move_up()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b_up = new Bullet(0, 32, 16, 0, m);
     //+13, -8
     b_up.Move();
     Assert.AreEqual(13, b_up.X);
     Assert.AreEqual(8, b_up.Y);
 }
Ejemplo n.º 2
0
 public void should_move_right()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b_right = new Bullet(0, 0, 16, 1, m);
     //+32, +13
     b_right.Move();
     Assert.AreEqual(48, b_right.X);
     Assert.AreEqual(13, b_right.Y);
 }
Ejemplo n.º 3
0
 public void should_move_down()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b_down = new Bullet(0, 0, 16, 2, m);
     // +13, +32
     b_down.Move();
     Assert.AreEqual(13, b_down.X);
     Assert.AreEqual(48, b_down.Y);
 }
Ejemplo n.º 4
0
 public void should_move_left()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b_left = new Bullet(32, 0, 16, 3, m);
     //-8, +13
     b_left.Move();
     Assert.AreEqual(8, b_left.X);
     Assert.AreEqual(13, b_left.Y);
     Assert.AreEqual(32, b_left.Tank_owner.X);
 }
Ejemplo n.º 5
0
 public EventArgs_On_Shoot(Bullet b, Tank t)
 {
     bullet = b;
     tank = t;
 }
Ejemplo n.º 6
0
 void Destroy_Bullet(Bullet b)
 {
     list_of_Bullets.Remove(b);
     //b.Tank_owner//TODO удалить ссылки танка на пулю и разрешить ему стрелять
 }
Ejemplo n.º 7
0
        //TODO переопределить для других аргументов
        private bool Collision_occurred(Bullet bullet)
        {
            //TODO другой снаряд
            foreach (var other_bullet in list_of_Bullets)
            {
                if (bullet.Tank_owner.GetType() != other_bullet.Tank_owner.GetType()) //если снаряд врага и игрока
                {
                    //TODO Если пересеклись
                    //Destroy_Bullet(other_bullet); //другую пулю не добавлять
                    //Destroy_Bullet(bullet);
                    //TODO создать маленький взрыв
                    //return;

                }
            }

            //TODO стена
            if (bullet.Y < 0 ||
                bullet.X > map_length - bullet.Length - 100 ||
                bullet.Y > map_length - bullet.Length ||
                bullet.X < 0)
            {
                //TODO создать маленький взрыв
                return true;
            }

            //TODO танки
            //TODO кирпичи
            //TODO бетон
            //TODO штаб
            return false;
        }
Ejemplo n.º 8
0
        //TODO удалить метод если он не нужен
        void Check_bullet_on_collision(Bullet bullet)
        {
            //TODO другой снаряд
            foreach (var other_bullet in list_of_Bullets)
            {
                if (bullet.Tank_owner.GetType() != other_bullet.Tank_owner.GetType())
                {
                    //TODO Если пересеклись
                    //Destroy_Bullet(other_bullet); //другую пулю не добавлять
                    //Destroy_Bullet(bullet);
                    //TODO создать маленький взрыв
                    //return;

                }
            }

            //TODO стена
            if (bullet.Y < 0 ||
                bullet.X > map_length-bullet.Length-100 ||
                bullet.Y > map_length-bullet.Length ||
                bullet.X < 0)
            {
                //list_to_remove.Add(bullet); //добавить в список для удаления
                list_of_bullets_to_remove.Add(list_of_Bullets.IndexOf(bullet)); //добавить Index пули, которую нужно удалить

                //TODO создать маленький взрыв
                return;

            }

            //TODO танки
            //TODO кирпичи
            //TODO бетон
            //TODO штаб
        }
Ejemplo n.º 9
0
 public void should_not_belong_to_Player()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b = new Bullet(32, 32, 16, 1, m);
     Assert.AreNotEqual(typeof(Player_tank), b.Tank_owner.GetType());
 }
Ejemplo n.º 10
0
 public void should_call_owner()
 {
     Middle_tank m = new Middle_tank(32, 32);
     Bullet b = new Bullet(32, 32, 16, 1, m);
     Assert.AreEqual(m, b.Tank_owner);
 }