/** * Dependiendo del string introducido crea un jugador de tipo humano o aleatorio * * @param frase string al que le puede llegar los dos posible tipos de judador * @return jugador jugador resultante del cambio */ private Jugador cambioJugador(String frase) { Jugador jugador = null; if (frase.equalsIgnoreCase("humano")) jugador = factoria.creaJugadorHumanoConsola(this.in); else if (frase.equalsIgnoreCase("aleatorio")) jugador = factoria.creaJugadorAleatorio(); return jugador; }
public ControladorConsola(FactoriaTipoJuego f, Partida p, Scanner in) { this.factoria = f; this.partida = p; this.in = in; this.jugblancas = factoria.creaJugadorHumanoConsola(in); this.jugnegras = factoria.creaJugadorHumanoConsola(in); this.jugturno = null; this.misComandos = new ArrayList<Comando>(); this.inicializarComandos(); }
/** * Crea un movimiento con las coordenadas indicadas por el jugador y posteriormente lo ejecuta * * @param i * @param j */ public void poner(int i, int j) { Movimiento mov = factoria.creaMovimiento(i, j, getPartida().getTurno()); try { getPartida().ejecutaMovimiento(mov); } catch (MovimientoInvalido e) { System.err.println(e.getMessage()); } };
/** Crea y ejecuta un movimiento aleatorio */ public void ponerAleatorio() { Movimiento mov = factoria.creaJugadorAleatorio().getMovimiento(partida.getTablero(), partida.getTurno()); try { getPartida().ejecutaMovimiento(mov); } catch (MovimientoInvalido e) { System.err.println(e.getMessage()); } }
/** * Cambia de juego segun las indicaciones del jugador * * @param juego * @param col * @param fil */ public void cambiarJuego(String juego, int col, int fil) { FactoriaTipoJuego nuevaFactoria; // Se crea una nueva factoría dependiendo del juego al que se desee // cambiar if (juego.equals("conecta4")) { nuevaFactoria = new FactoriaConecta4(); } else if (juego.equals("complica")) { nuevaFactoria = new FactoriaComplica(); } else if (juego.equals("gravity")) { nuevaFactoria = new FactoriaGravity(col, fil); } else nuevaFactoria = new FactoriaReversi(); // Se reinicia el propio Controlador y la partida en curso: this.reset(nuevaFactoria); partida.reset(factoria.creaReglas()); }
/** * Inicia los dos jugadores,del tipo del juego que estemos usando, como humanos y pone como primer * jugador de la partida a jugblancas */ private void iniciarJugadores() { jugblancas = factoria.creaJugadorHumanoConsola(in); jugnegras = factoria.creaJugadorHumanoConsola(in); this.jugturno = jugblancas; }
private void reiniciarPartida() { this.partida.reset(factoria.creaReglas()); iniciarJugadores(); }