package generala; public class Jugada { // Instanciamos la variable "jugada" como "NADA"; porque al ejecutarse los metodos de comprobacion, si ninguno actualiza esta // variable con su respectivo valor como "GENERALA", "POKER", etc. Significa que no cumplio con ninguna de las jugadas y debe // quedarse como "NADA" private String jugada1 = "NADA"; //Constructor para instanciar un objeto Jugada y usar sus metodos public Jugada() { } public String getJugada1() { // retorna la variable de instancia actual return this.jugada1; } public void setJugada1(String jugada1) { // Modifica la variable de instancia actual con el parametro que se le pase this.jugada1 = jugada1; } // ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "GENERALA" ------ public void generala(int[] dados) { int contador = 0; for (int i = 0; i < dados.length - 1; i++) { // En caso de que el dado en la posicion "i" sea igual al dado en la posicion siguiente // el contador aumenta en uno if (dados[i] == dados[i + 1]) { contador++; } } // Si el contador llego a 4 es porque todas las comparaciones entre dados fueron iguales // Entonces se actualiza la variable de instancia if (contador == 4) { setJugada1("GENERALA"); } } // ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "POKER" ------ public void poker(int[] dados) { // IMPORTANTE: El metodo poker funciona igual que GENERALA con la diferencia de que el contador debe llegar a 3 para ser POKER int contador = 0; for (int i = 0; i < dados.length - 1; i++) { if (dados[i] == dados[i + 1]) { contador++; } } // Al estar el array ordenado de mayor a menor solo hay 2 opciones de POKER // Una seria el numero menor al principio y otra el numero mayor al final // En los dos casos los numeros en la posicion 1, 2, 3 son iguales // por eso se realiza la comprobacion ademas de que el contador sea 3 // array1 = [ 4, 5, 5, 5, 5 ] // array2 = [ 4, 4, 4, 4, 5 ] if (contador == 3 && dados[1] == dados[2] && dados[2] == dados[3]) { setJugada1("POKER"); } } // ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "FULL" ------ public void full(int[] dados) { // IMPORTANTE: El metodo "full" funciona igual que GENERALA con la diferencia de que el contador debe llegar a 3 para ser POKER int contador = 0; for (int i = 0; i < dados.length - 1; i++) { if (dados[i] == dados[i + 1]) { contador++; } } // Al estar el array ordenado de mayor a menor solo hay 2 opciones de FULL // El numero en la posicion 2 es diferente al de la posicion anterior // y tambien puede ser diferente a de la posicion siguiente // array1 = [ 4, 4, 5, 5, 5 ] // array2 = [ 4, 4, 4, 5, 5 ] if (contador == 3 && dados[1] != dados[2]) { setJugada1("FULL"); } else if (contador == 3 && dados[2] != dados[3]) { setJugada1("FULL"); } } // ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "ESCALERA" ------ public void escalera(int[] dados) { int contador = 0; for (int i = 0; i < dados.length - 1; i++) { //Si el dado en la posicion [0] es 1 y le sumas 1, el resultado debe ser igual al dado de la posicion siguiente if (dados[i] + 1 == dados[i + 1]) { contador++; } } if (contador == 4) { this.jugada1 = "ESCALERA"; } } // ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "POKER" ------ public void tiro(int[] dados) { // Se ejecuta todos los metodos de comprobacion generala(dados); poker(dados); full(dados); escalera(dados); } }