/* 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. }
/* ******************************************************* * 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. } }