optimizando funcion de comprobacion

parent 828c442e
......@@ -23,7 +23,7 @@ public class Dado {
// Funcion que genera numeros aleatorios
int[] dadosAleatorios = new int[5];
for (int i = 0; i < 5; i++) {
int randomNumber = (int) Math.floor((Math.random() * (5 + 1 - 1)) + 1);
int randomNumber = (int) Math.floor((Math.random() * (6 + 1 - 1)) + 1);
dadosAleatorios[i] = randomNumber;
}
......
......@@ -90,7 +90,7 @@ public static void main(String[] args)
for (int i = 0; i < dadosAleatorios.length; i++) {
System.out.print(" [" + dadosAleatorios[i] + "] ");
}
//Instanciamos el objeto "jugada1" para ejecutar las comprobaciones
Jugada jugada1 = new Jugada();
//Llamamos al metodo tiro pasandole como argumento los dados que se generaron
......
......@@ -12,6 +12,9 @@ public class Jugada {
}
// ------------------------------------------------------------------------
// Metodos Auxiliares
public String getJugada1() {
// retorna la variable de instancia actual
return this.jugada1;
......@@ -22,8 +25,8 @@ public class Jugada {
this.jugada1 = jugada1;
}
// ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "GENERALA" ------
public void generala(int[] dados) {
public int comprobadorDeJugadas(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
......@@ -32,6 +35,16 @@ public class Jugada {
contador++;
}
}
return contador;
}
// ------------------------------------------------------------------------
// Metodos Auxiliares
// ------ Comprueba si los numeros aleatorios de un array cumplen las caracteristicas de "GENERALA" ------
public void generala(int[] dados) {
int contador = comprobadorDeJugadas(dados);
// 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) {
......@@ -42,12 +55,7 @@ public class Jugada {
// ------ 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++;
}
}
int contador = comprobadorDeJugadas(dados);
// 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
......@@ -55,7 +63,9 @@ public class Jugada {
// 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]) {
if (contador == 3 && dados[0] != dados[1] && dados[1] == dados[2] && dados[2] == dados[3] && dados[3] == dados[4] ||
dados[0] == dados[1] && dados[1] == dados[2] && dados[2] == dados[3] && dados[3] != dados[4]
) {
setJugada1("POKER");
}
}
......@@ -63,23 +73,18 @@ public class Jugada {
// ------ 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++;
}
}
int contador = comprobadorDeJugadas(dados);
// 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]) {
if (contador == 3 && dados[0] == dados[1] && dados[1] != dados[2] && dados[2] == dados[3] && dados[3] == dados[4] ||
dados[0] == dados[1] && dados[1] == dados[2] && dados[2] != dados[3] && dados[3] == dados[4])
{
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" ------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment