Esempio n. 1
0
        /* Compare si es un movimiento válido. */
        public Boolean movimientoValido(Ficha posActual, int x, int y)
        {
            Ficha[] enemigos  = this.campoJuego.getEnemigos();
            Ficha   fichaTemp = this.campoJuego.getFicha(x, y);

            // Si es un enemigo.
            if (fichaTemp.compararMuchasFichas(enemigos))
            {
                return(false); // No es válido
            }

            if (fichaTemp.compararMuchasFichas(listaInsertados.ToArray()))
            {
                return(false); // No es válido.
            }

            // Si ya lo había insertado previamente.
            if (compararPrevios(posActual, fichaTemp))
            {
                return(false); // No es válido.
            }

            return(true); // Movimiento válido.
        }
Esempio n. 2
0
        /* *******************************************************
        * Se seleccionan las posiciones para asignar los enemigos.
        * Se deben haber seleccionado previamente la meta y el inicio.
        *********************************************************/
        public void seleccionarEnemigos(int numeroEnemigos)
        {
            this.enemigos = new Enemigo[numeroEnemigos];

            // Creo N número de enemigos.
            for (int i = 0; i < numeroEnemigos; i++)
            {
                Ficha fichaTemp = obtenerficha();
                // La ficha no puede ser la meta o el jugador.
                while (fichaTemp.compararFicha(this.meta) || fichaTemp.compararFicha(this.jugador) ||
                       fichaTemp.compararMuchasFichas(this.enemigos))
                {
                    fichaTemp = obtenerficha();
                }
                this.enemigos[i] = new Enemigo(fichaTemp.getX(), fichaTemp.getY()); // Agregué el nuevo enemigo.
            }
        }