Esempio n. 1
0
        /// <summary>
        /// Calcula la rotación que debe tener el proyectil, en relación al Jugador.
        /// </summary>
        /// <param name="enemigo">Objeto de la clase Enemigo</param>
        /// <param name="jugador">Objeto de la clase Jugador</param>
        /// <returns></returns>
        double calcularRotacion(Enemigo enemigo, Jugador jugador)
        {
            try
            {
                double pendiente;

                //muy importante para ubicar al jugador y atacarlo
                pendiente = (jugador.posicion.X - enemigo.posicion.X) / (jugador.posicion.Y - enemigo.posicion.Y);

                double radianes = Math.Atan(pendiente);

                return(radianes);
            }
            catch (Exception) { throw; }
        }
Esempio n. 2
0
 bool sobrepasoAlJugador(Enemigo enemigo, Jugador jugador)
 {
     try
     {
         if (enemigo.posicion.Y >= jugador.posicion.Y - animacionEnemigo.FrameHeight)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception) { throw; }
 }
Esempio n. 3
0
        public void agregarEnemigo()
        {
            try
            {
                Enemigo   enemigo = new Enemigo();
                Texture2D texturaE;

                texturaE = contenedor.Load <Texture2D>(texturaEnemigo[(int)nivelActual]);

                animacionEnemigo = new AnimacionElementos();

                if ((int)texturaEnemigoNivel.asteoide == (int)nivelActual)
                {
                    animacionEnemigo.Inicialize(texturaE, Vector2.Zero, 35, 35, 8, 150, Color.White, 1f, true);
                }
                else
                {
                    animacionEnemigo.Inicialize(texturaE, Vector2.Zero, 50, 45, 6, 150, Color.White, 1f, true);
                }

                int posicionAncho = generarPosicionAleatoria(nivelActual);

                if (nivelActual == (int)nivel.facil)
                {
                    enemigo.inicializar(new Vector2(posicionAncho, 0 - animacionEnemigo.FrameHeight), velocidadEnemigo, viewport, generarDesplazamiento(posicionAncho), animacionEnemigo); enemigo.danio = 15;
                }
                else if (nivelActual == (int)nivel.medio)
                {
                    enemigo.inicializar(new Vector2(posicionAncho, 0 - animacionEnemigo.FrameHeight), velocidadEnemigo, viewport, generarDesplazamiento(posicionAncho), true, animacionEnemigo); enemigo.danio = 10;
                }
                else
                {
                    enemigo.inicializar(new Vector2(posicionAncho, 0 - animacionEnemigo.FrameHeight), velocidadEnemigo, viewport, generarDesplazamiento(posicionAncho), true, animacionEnemigo); enemigo.danio = 5;
                }

                enemigos.Add(enemigo);
            }
            catch (Exception) { }
        }