Exemplo n.º 1
0
    // --- Comprobar colisiones de enemigo con personaje, etc
    public void comprobarColisiones()
    {
        // Colisiones de personaje con fondo: obtener puntos o perder vida
        int puntosMovimiento = miPantallaJuego.ObtenerPuntosPosicion(
            miPersonaje.GetX(),
            miPersonaje.GetY(),
            miPersonaje.GetX() + miPersonaje.GetAncho(),
            miPersonaje.GetY() + miPersonaje.GetAlto());

        // Si realmente ha recogido un objeto, sumamos los puntos en el juego
        if (puntosMovimiento > 0)
        {
            puntos += puntosMovimiento;

            // Si ademas es una campana, avanzamos de nivel
            if (puntosMovimiento == 50)
            {
                //avanzarNivel()
                miPantallaJuego.Avanzar();
            }
        }
        if (miPersonaje.ColisionCon(miEnemigo))
        {
            miPersonaje.Morir();
            miPersonaje.Reiniciar();
            miEnemigo.Reiniciar();
        }

        if (miPersonaje.GetVidas() == 0)
        {
            partidaTerminada = true;
        }
    }
Exemplo n.º 2
0
    // --- Comprobar colisiones de enemigo con personaje, etc ---
    void comprobarColisiones()
    {
        // Colisiones de personaje con fondo: obtener puntos o perder vida
        int puntosMovimiento = miPantallaJuego.ObtenerPuntosPosicion(
            miPersonaje.GetX(),
            miPersonaje.GetY(),
            miPersonaje.GetX() + miPersonaje.GetAncho(),
            miPersonaje.GetY() + miPersonaje.GetAlto());

        // Si realmente ha recogido un objeto, sumamos los puntos en el juego
        if (puntosMovimiento > 0)
        {
            puntos += puntosMovimiento;

            // Si ademas es una puerta, avanzamos de nivel
            if (puntosMovimiento == 50)
            {
                miPantallaJuego.Avanzar();
            }
        }

        // Y si la puntuacion es -1, ha chocado con el fondo:
        // recolocar y perder vida
        if (puntosMovimiento < 0)
        {
            miPersonaje.Morir();
            miPersonaje.Reiniciar();
            for (int i = 0; i < miPantallaJuego.GetNumEnemigos(); i++)
            {
                miPantallaJuego.GetEnemigo(i).Reiniciar();
            }
        }

        // Igual caso para las colisiones de personaje con enemigo
        for (int i = 0; i < miPantallaJuego.GetNumEnemigos(); i++)
        {
            if (miPersonaje.ColisionCon(miPantallaJuego.GetEnemigo(i)))
            {
                miPersonaje.Morir();
                miPersonaje.Reiniciar();
                for (int j = 0; j < miPantallaJuego.GetNumEnemigos(); j++)
                {
                    miPantallaJuego.GetEnemigo(i).Reiniciar();
                }
                break;
            }
        }

        if (miPersonaje.GetVidas() == 0)
        {
            partidaTerminada = true;
        }
    }