Example #1
0
 /// <summary>
 /// Rehubica un fantasma en la posicion central del mapa
 /// </summary>
 /// <param name="fant">Fantasma a rehubicar</param>
 private void rehubicarFantasmas(Fantasma fant)
 {
     Point[] cords = mapaActual.posicionInicalFantasmas();
     fant.IAct = cords[0].X;
     fant.JAct = cords[0].Y;
     fant.X = cords[1].X;
     fant.Y = cords[1].Y;
 }
Example #2
0
        /// <summary>
        /// Evalua el nivel actual y asigna el nuevo tablero
        /// </summary>
        /// <returns>Retorna el tablero del siguiente nivel</returns>
        //private Mapa siguienteNivel() {
        //    Mapa m = lvl3;
        //    switch (this.nivelActual) {
        //        case 1:
        //            m = lvl1;
        //            break;
        //        case 2:
        //            m = lvl2;
        //            break;
        //        case 3:
        //            m = lvl3;
        //            break;
        //    }
        //    return m;
        //}
        /// <summary>
        /// Calcula intersecciones entre el PacMan y un fantasma ejecutando acciones dependiendo del estado del fantasma
        /// </summary>
        /// <param name="fant">Fantasma al que se le evaluara la colision</param>
        private void interseccionPacmanFantasma(Fantasma fant)
        {
            //Colision por la izquierda
            if ((this.pacMan.X <= (fant.X + fant.Windth) && (this.pacMan.X + 10) >= (fant.X + fant.Windth)) && (this.pacMan.Y >= fant.Y && this.pacMan.Y <= fant.Y + fant.Height || this.pacMan.Y + this.pacMan.Height >= fant.Y && this.pacMan.Y <= fant.Y + fant.Height)) {
                if (fant.Estado == 2) {
                    this.rehubicarFantasmas(fant);
                    fant.quitarVulnerabilidad();
                } else {
                    this.rehubicarPacman();
                    if (this.pacMan.disminuirVida(fant.Poder) <= 0) {
                        this.jugando = 3;
                    }
                }
                sonido(2);

            } //Colision por la derecha
            else if (((this.pacMan.X + this.pacMan.Windth) >= fant.X && (this.pacMan.X + this.pacMan.Windth - 10) <= fant.X) && (this.pacMan.Y >= fant.Y && this.pacMan.Y <= fant.Y + fant.Height || this.pacMan.Y + this.pacMan.Height >= fant.Y && this.pacMan.Y <= fant.Y + fant.Height)) {
                if (fant.Estado == 2) {
                    this.rehubicarFantasmas(fant);
                    fant.quitarVulnerabilidad();
                } else {
                    this.rehubicarPacman();
                    if (this.pacMan.disminuirVida(fant.Poder) <= 0) {
                        this.jugando = 3;
                    }
                }
                sonido(2);
            } //Colision por la arriba
            else if ((this.pacMan.Y <= (fant.Y + fant.Height) && (this.pacMan.Y + 10) >= (fant.Y + fant.Height)) && (this.pacMan.X >= fant.X && this.pacMan.X <= fant.X + fant.Windth || this.pacMan.X + this.pacMan.Windth >= fant.X && this.pacMan.X <= fant.X + fant.Windth)) {
                if (fant.Estado == 2) {
                    this.rehubicarFantasmas(fant);
                    fant.quitarVulnerabilidad();
                } else {
                    this.rehubicarPacman();
                    if (this.pacMan.disminuirVida(fant.Poder) <= 0) {
                        this.jugando = 3;
                    }
                }
                sonido(2);
            } //Colision por la abajo
            else if (((this.pacMan.Y + this.pacMan.Height) >= fant.Y && (this.pacMan.Y + this.pacMan.Height - 10) <= fant.Y) && (this.pacMan.X >= fant.X && this.pacMan.X <= fant.X + fant.Windth || this.pacMan.X + this.pacMan.Windth >= fant.X && this.pacMan.X <= fant.X + fant.Windth)) {
                if (fant.Estado == 2) {

                    this.rehubicarFantasmas(fant);
                    fant.quitarVulnerabilidad();

                } else {
                    this.rehubicarPacman();
                    if (this.pacMan.disminuirVida(fant.Poder) <= 0) {
                        this.jugando = 3;
                    }
                }
                sonido(2);
            }
        }