Ejemplo n.º 1
0
  /**
   * 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;
  }
Ejemplo n.º 2
0
 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());
  }
Ejemplo n.º 6
0
 /**
  * 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;
 }
Ejemplo n.º 7
0
 private void reiniciarPartida() {
   this.partida.reset(factoria.creaReglas());
   iniciarJugadores();
 }