示例#1
0
  // metodo de que valida que la partida pueda iniciar partida
  public boolean validarInicio(Partida part) {
    if (part.getPartida()[1] != null) { // validar la cantidad de jugadores sea igual a 2
      // Expresion Regular para validar la estrategia del jugador
      for (int i = 0; i < 2; i++) {
        String caractEstrategia = "^[pPrRsS]$";
        Pattern pattern = Pattern.compile(caractEstrategia);
        Matcher m = pattern.matcher(part.getPartida()[i].getEstrategia());
        if (!m.matches()) {
          System.err.print(
              "La estrategía de " + part.getPartida()[i].getNombre() + " es incorrecta");
        }
      }
      // Validar si la estrategia de ambos jugadores es igual
      if (part.getPartida()[0].getEstrategia().equals(part.getPartida()[1].getEstrategia())) {
        ganador(part.getPartida()[0]);
        return true;
      }

    } else {
      System.err.print("Solo puede ser partidas de DOS jugadores");
      return false;
    }
    return true;
  }
示例#2
0
  public Jugador logica(Partida partida) {

    boolean bandera = true;

    if (!validarInicio(partida)) {

      bandera = false;
    }
    Jugador nuevoJugador = partida.getPartida()[0];
    // segundo definir ganador
    if (bandera) {
      // Partida nuevaPartida = new Partida();
      for (int i = 0; i <= partida.getPartida().length; i++) {

        switch (i) { // determina quien gana la partida en todas las posibles soluciones
          case 0:
            if (((partida.getPartida()[0].getEstrategia()).toUpperCase()).equals("R")) {
              if (((partida.getPartida()[1].getEstrategia()).toUpperCase()).equals("P")) {
                nuevoJugador = partida.getPartida()[1];
              } else {
                nuevoJugador = partida.getPartida()[0];
              }
            }
            break;
          case 1:
            if (((partida.getPartida()[0].getEstrategia()).toUpperCase()).equals("S")) {
              if (((partida.getPartida()[1].getEstrategia()).toUpperCase()).equals("R")) {
                nuevoJugador = partida.getPartida()[1];
              } else {
                nuevoJugador = partida.getPartida()[0];
              }
            }
            break;

          case 2:
            if (((partida.getPartida()[0].getEstrategia()).toUpperCase()).equals("P")) {
              if (((partida.getPartida()[1].getEstrategia()).toUpperCase()).equals("R")) {
                nuevoJugador = partida.getPartida()[0];
              } else {
                nuevoJugador = partida.getPartida()[1];
                partida.getPartida()[1] = null;
              }
            }
            break;
        }
      }
    }
    return nuevoJugador;
  }