Example #1
0
        /// <summary>
        /// Create a new instance of a Panzer enemy tank.
        /// </summary>
        /// <param name="id">Obj id</param>
        /// <param name="content">A ContentManager to load resources with</param>
        /// <param name="position">The position of the Dart ship in the game world</param>
        public Panzer2(uint id, ContentManager content, Vector2 position)
            : base(id)
        {
            this.position = position;
            spritesheet   = content.Load <Texture2D>("Spritesheets/vulcano");

            spriteBounds[(int)Panzer2AimState.North].X      = 7;
            spriteBounds[(int)Panzer2AimState.North].Y      = 30;
            spriteBounds[(int)Panzer2AimState.North].Width  = 15;
            spriteBounds[(int)Panzer2AimState.North].Height = 20;

            spriteBounds[(int)Panzer2AimState.NorthEast].X      = 101;
            spriteBounds[(int)Panzer2AimState.NorthEast].Y      = 20;
            spriteBounds[(int)Panzer2AimState.NorthEast].Width  = 17;
            spriteBounds[(int)Panzer2AimState.NorthEast].Height = 18;

            spriteBounds[(int)Panzer2AimState.East].X      = 121;
            spriteBounds[(int)Panzer2AimState.East].Y      = 36;
            spriteBounds[(int)Panzer2AimState.East].Width  = 20;
            spriteBounds[(int)Panzer2AimState.East].Height = 14;

            spriteBounds[(int)Panzer2AimState.SouthEast].X      = 101;
            spriteBounds[(int)Panzer2AimState.SouthEast].Y      = 51;
            spriteBounds[(int)Panzer2AimState.SouthEast].Width  = 18;
            spriteBounds[(int)Panzer2AimState.SouthEast].Height = 16;

            spriteBounds[(int)Panzer2AimState.South].X      = 57;
            spriteBounds[(int)Panzer2AimState.South].Y      = 32;
            spriteBounds[(int)Panzer2AimState.South].Width  = 15;
            spriteBounds[(int)Panzer2AimState.South].Height = 20;

            spriteBounds[(int)Panzer2AimState.SouthWest].X      = 76;
            spriteBounds[(int)Panzer2AimState.SouthWest].Y      = 51;
            spriteBounds[(int)Panzer2AimState.SouthWest].Width  = 18;
            spriteBounds[(int)Panzer2AimState.SouthWest].Height = 16;

            spriteBounds[(int)Panzer2AimState.West].X      = 30;
            spriteBounds[(int)Panzer2AimState.West].Y      = 35;
            spriteBounds[(int)Panzer2AimState.West].Width  = 20;
            spriteBounds[(int)Panzer2AimState.West].Height = 14;

            spriteBounds[(int)Panzer2AimState.NorthWest].X      = 76;
            spriteBounds[(int)Panzer2AimState.NorthWest].Y      = 20;
            spriteBounds[(int)Panzer2AimState.NorthWest].Width  = 18;
            spriteBounds[(int)Panzer2AimState.NorthWest].Height = 18;

            aimState = Panzer2AimState.South;
        }
Example #2
0
 /// <summary>
 /// Changes direction the Panzer faces relative to the Player
 /// </summary>
 /// <param name="toPlayer">Unit Vector in the direction of the Player</param>
 public void SteeringState(Vector2 toPlayer)
 {
     toPlayer.Normalize();
     if ((toPlayer.X < -0.5f) && (toPlayer.Y > 0.5f))
     {
         aimState = Panzer2AimState.SouthWest;
     }
     else if ((toPlayer.X < -0.5f) && (toPlayer.Y < -0.5f))
     {
         aimState = Panzer2AimState.NorthWest;
     }
     else if ((toPlayer.X > 0.5f) && (toPlayer.Y < -0.5f))
     {
         aimState = Panzer2AimState.NorthEast;
     }
     else if ((toPlayer.X > 0.5f) && (toPlayer.Y > 0.5f))
     {
         aimState = Panzer2AimState.SouthEast;
     }
     else if (toPlayer.X < -0.5f)
     {
         aimState = Panzer2AimState.West;
     }
     else if (toPlayer.X > 0.5f)
     {
         aimState = Panzer2AimState.East;
     }
     else if (toPlayer.Y < -0.5f)
     {
         aimState = Panzer2AimState.North;
     }
     else
     {
         aimState = Panzer2AimState.South;
     }
 }
Example #3
0
        /// <summary>
        /// Create a new instance of a Panzer enemy tank.
        /// </summary>
        /// <param name="id">Obj id</param>
        /// <param name="content">A ContentManager to load resources with</param>
        /// <param name="position">The position of the Dart ship in the game world</param>
        public Panzer2(uint id, ContentManager content, Vector2 position)
            : base(id)
        {
            this.position = position;
            spritesheet = content.Load<Texture2D>("Spritesheets/vulcano");
            photonFired = content.Load<SoundEffect>("SFX/fireworksmortar3");

            spriteBounds[(int)Panzer2AimState.North].X = 7;
            spriteBounds[(int)Panzer2AimState.North].Y = 30;
            spriteBounds[(int)Panzer2AimState.North].Width = 15;
            spriteBounds[(int)Panzer2AimState.North].Height = 20;

            spriteBounds[(int)Panzer2AimState.NorthEast].X = 101;
            spriteBounds[(int)Panzer2AimState.NorthEast].Y = 20;
            spriteBounds[(int)Panzer2AimState.NorthEast].Width = 17;
            spriteBounds[(int)Panzer2AimState.NorthEast].Height = 18;

            spriteBounds[(int)Panzer2AimState.East].X = 121;
            spriteBounds[(int)Panzer2AimState.East].Y = 36;
            spriteBounds[(int)Panzer2AimState.East].Width = 20;
            spriteBounds[(int)Panzer2AimState.East].Height = 14;

            spriteBounds[(int)Panzer2AimState.SouthEast].X = 101;
            spriteBounds[(int)Panzer2AimState.SouthEast].Y = 51;
            spriteBounds[(int)Panzer2AimState.SouthEast].Width = 18;
            spriteBounds[(int)Panzer2AimState.SouthEast].Height = 16;

            spriteBounds[(int)Panzer2AimState.South].X = 57;
            spriteBounds[(int)Panzer2AimState.South].Y = 32;
            spriteBounds[(int)Panzer2AimState.South].Width = 15;
            spriteBounds[(int)Panzer2AimState.South].Height = 20;

            spriteBounds[(int)Panzer2AimState.SouthWest].X = 76;
            spriteBounds[(int)Panzer2AimState.SouthWest].Y = 51;
            spriteBounds[(int)Panzer2AimState.SouthWest].Width = 18;
            spriteBounds[(int)Panzer2AimState.SouthWest].Height = 16;

            spriteBounds[(int)Panzer2AimState.West].X = 30;
            spriteBounds[(int)Panzer2AimState.West].Y = 35;
            spriteBounds[(int)Panzer2AimState.West].Width = 20;
            spriteBounds[(int)Panzer2AimState.West].Height = 14;

            spriteBounds[(int)Panzer2AimState.NorthWest].X = 76;
            spriteBounds[(int)Panzer2AimState.NorthWest].Y = 20;
            spriteBounds[(int)Panzer2AimState.NorthWest].Width = 18;
            spriteBounds[(int)Panzer2AimState.NorthWest].Height = 18;

            aimState = Panzer2AimState.South;
        }
Example #4
0
 /// <summary>
 /// Changes direction the Panzer faces relative to the Player
 /// </summary>
 /// <param name="toPlayer">Unit Vector in the direction of the Player</param>
 public void SteeringState(Vector2 toPlayer)
 {
     toPlayer.Normalize();
     if ((toPlayer.X < -0.5f) && (toPlayer.Y > 0.5f)) aimState = Panzer2AimState.SouthWest;
     else if ((toPlayer.X < -0.5f) && (toPlayer.Y < -0.5f)) aimState = Panzer2AimState.NorthWest;
     else if ((toPlayer.X > 0.5f) && (toPlayer.Y < -0.5f)) aimState = Panzer2AimState.NorthEast;
     else if ((toPlayer.X > 0.5f) && (toPlayer.Y > 0.5f)) aimState = Panzer2AimState.SouthEast;
     else if (toPlayer.X < -0.5f) aimState = Panzer2AimState.West;
     else if (toPlayer.X > 0.5f) aimState = Panzer2AimState.East;
     else if (toPlayer.Y < -0.5f) aimState = Panzer2AimState.North;
     else aimState = Panzer2AimState.South;
 }