Commit f09893f0 by Pedro Rolon

Se arreglo un error por el cual no se tenia en cuenta al AS como carta mayor

parent 0ce6efa7
...@@ -95,42 +95,62 @@ public class MyClass { ...@@ -95,42 +95,62 @@ public class MyClass {
if(esEscaleraColor(valores, palos)){ if(esEscaleraColor(valores, palos)){
int[] ordenado = ordenarMano(mano); int[] ordenado = ordenarMano(mano);
calificacion.add(9); calificacion.add(9);
if(ordenado[4]==13 && ordenado[0]==1){ //Si el AS actúa como 14, entonces el AS vale 14
if(ordenado[4]==12 && ordenado[0]==0){
calificacion.add(14); calificacion.add(14);
} }
else{ else{
calificacion.add(ordenado[4]); calificacion.add(ordenado[4]);
} }
} }
else if(esPoker(valores)){ else if(esPoker(valores)){
//Si es poker, se envia la calificacion en el primer elemento, seguido del //Si es poker, se envia la calificacion en el primer elemento, seguido del
//valor que hizo que sea poker, seguido del valor diferente //valor que hizo que sea poker, seguido del valor diferente
calificacion.add(8); calificacion.add(8);
calificacion.add(indiceDe(4,valores)); if(indiceDe(4,valores)==0){
calificacion.add(indiceDe(1,valores)); calificacion.add(14);
calificacion.add(indiceDe(1,valores));
}
else{
calificacion.add(indiceDe(4,valores));
if(indiceDe(1, valores)==0){
calificacion.add(14);
}
else{
calificacion.add(indiceDe(1, valores));
}
}
} }
else if(esFull(valores)){ else if(esFull(valores)){
//No hay empate en full, por lo tanto solo hace falta //No hay empate en full, por lo tanto solo hace falta
//el valor de la mano //el valor de la mano
calificacion.add(7); calificacion.add(7);
calificacion.add(indiceDe(3, valores)); if(indiceDe(3,valores)==0){
calificacion.add(indiceDe(2,valores)); calificacion.add(14);
calificacion.add(indiceDe(2,valores));
}
else{
calificacion.add(indiceDe(3,valores));
if(indiceDe(2, valores)==0){
calificacion.add(14);
}
else{
calificacion.add(indiceDe(2,valores));
}
}
} }
else if(esColor(palos)){ else if(esColor(palos)){
int aux=0; int aux=0;
calificacion.add(6); calificacion.add(6);
int[] ordenado = ordenarMano(mano);
if(ordenado[0]==0){
//Si hay un AS, se coloca directamente después de la
//calificación
if(indiceDe(1, valores)!=-1){
calificacion.add(14); calificacion.add(14);
//si ya se encontró el 1, entonces este ya no se
//debe agregar al array de calificacion
aux=1; aux=1;
} }
int[] ordenado = ordenarMano(mano);
for (int i = 4; i >= aux; i--) { for (int i = 4; i >= aux; i--) {
calificacion.add(ordenado[i]); calificacion.add(ordenado[i]);
} }
...@@ -138,7 +158,7 @@ public class MyClass { ...@@ -138,7 +158,7 @@ public class MyClass {
else if(esEscalera(valores)){ else if(esEscalera(valores)){
int[] ordenado = ordenarMano(mano); int[] ordenado = ordenarMano(mano);
calificacion.add(5); calificacion.add(5);
if(ordenado[4]==13 && ordenado[0]==1){ if(ordenado[4]==12 && ordenado[0]==1){
calificacion.add(14); calificacion.add(14);
} }
else{ else{
...@@ -147,29 +167,73 @@ public class MyClass { ...@@ -147,29 +167,73 @@ public class MyClass {
} }
else if(esTrio(valores)){ else if(esTrio(valores)){
calificacion.add(4); calificacion.add(4);
calificacion.add(indiceDe(3, valores));
//Convierte el AS al mayor valor, en lugar de 1 vale 14
if(indiceDe(3,valores)==0){
calificacion.add(14);
}else{
calificacion.add(indiceDe(3, valores));
}
int[] ordenado = ordenarMano(mano); int[] ordenado = ordenarMano(mano);
for (int i = 4; i >=0; i--) { int aux = 0;
if(calificacion.get(0)!=ordenado[i]){ if(ordenado[0]==0){
calificacion.add(14);
aux = 1;
}
for (int i = 4; i >=aux; i--) {
if(calificacion.get(1)!=ordenado[i]){
calificacion.add(ordenado[i]); calificacion.add(ordenado[i]);
} }
} }
} }
else if(esParDoble(valores)){ else if(esParDoble(valores)){
calificacion.add(3); calificacion.add(3);
calificacion.add(indiceDeReversa(2, valores));
calificacion.add(indiceDe(2, valores)); //Si es un par doble de AS, se le asigna 14
calificacion.add(indiceDe(1,valores)); if(indiceDe(2,valores)==0){
calificacion.add(14);
calificacion.add(indiceDeReversa(2, valores));
}
else{
calificacion.add(indiceDeReversa(2, valores));
calificacion.add(indiceDe(2, valores));
}
if(indiceDe(1,valores)==0){
calificacion.add(14);
}
else{
calificacion.add(indiceDe(1,valores));
}
} }
else if(esPar(valores)){ else if(esPar(valores)){
calificacion.add(2); calificacion.add(2);
calificacion.add(indiceDe(2, valores));
//Si el par es de AS, se setea su valor a 14
if(indiceDe(2,valores)==0){
calificacion.add(14);
}
else{
calificacion.add(indiceDe(2, valores));
}
int[] ordenado = ordenarMano(mano); int[] ordenado = ordenarMano(mano);
int aux=0;
if(ordenado[0]==0){
calificacion.add(14);
aux=1;
}
for (int i = 4; i >=0; i--) { for (int i = 4; i >=aux; i--) {
if(calificacion.get(0)!=ordenado[i]){ if(calificacion.get(1)!=ordenado[i]){
calificacion.add(ordenado[i]); calificacion.add(ordenado[i]);
} }
} }
...@@ -179,15 +243,12 @@ public class MyClass { ...@@ -179,15 +243,12 @@ public class MyClass {
calificacion.add(1); calificacion.add(1);
//Si hay un AS, se coloca directamente después de la //Si hay un AS, se coloca directamente después de la
//calificación //calificación
if(indiceDe(1, valores)!=-1){ int[] ordenado = ordenarMano(mano);
if(ordenado[0]==0){
calificacion.add(14); calificacion.add(14);
//si ya se encontró el 1, entonces este ya no se
//debe agregar al array de calificacion
aux=1; aux=1;
} }
int[] ordenado = ordenarMano(mano);
for (int i = 4; i >= aux; i--) { for (int i = 4; i >= aux; i--) {
calificacion.add(ordenado[i]); calificacion.add(ordenado[i]);
} }
...@@ -223,22 +284,22 @@ public class MyClass { ...@@ -223,22 +284,22 @@ public class MyClass {
String valorString= mano[i].valor; String valorString= mano[i].valor;
if(valorString.equals("A") || valorString.equals("a")){ if(valorString.equals("A") || valorString.equals("a")){
ordenado[i]=1; ordenado[i]=0;
} }
else if(valorString.equals("T") || valorString.equals("t")){ else if(valorString.equals("T") || valorString.equals("t")){
ordenado[i]=10; ordenado[i]=9;
} }
else if(valorString.equals("J") || valorString.equals("j")){ else if(valorString.equals("J") || valorString.equals("j")){
ordenado[i]=11; ordenado[i]=10;
} }
else if(valorString.equals("Q") || valorString.equals("q")){ else if(valorString.equals("Q") || valorString.equals("q")){
ordenado[i]=12; ordenado[i]=11;
} }
else if(valorString.equals("K") || valorString.equals("k")){ else if(valorString.equals("K") || valorString.equals("k")){
ordenado[i]=13; ordenado[i]=12;
} }
else{ else{
ordenado[i] = Integer.parseInt(valorString); ordenado[i] = Integer.parseInt(valorString)-1;
} }
} }
Arrays.sort(ordenado); Arrays.sort(ordenado);
...@@ -493,21 +554,21 @@ public class MyClass { ...@@ -493,21 +554,21 @@ public class MyClass {
List<Carta[]> jugadas = new ArrayList<Carta[]>(); List<Carta[]> jugadas = new ArrayList<Carta[]>();
Carta[] m1 = new Carta[5]; Carta[] m1 = new Carta[5];
m1[0] = new Carta("AD"); m1[0] = new Carta("AH");
m1[1] = new Carta("KD"); m1[1] = new Carta("AD");
m1[2] = new Carta("JD"); m1[2] = new Carta("5D");
m1[3] = new Carta("9D"); m1[3] = new Carta("5D");
m1[4] = new Carta("7D"); m1[4] = new Carta("2D");
Carta[] m2 = new Carta[5]; Carta[] m2 = new Carta[5];
m2[0] = new Carta("AD"); m2[0] = new Carta("5H");
m2[1] = new Carta("KD"); m2[1] = new Carta("5D");
m2[2] = new Carta("JD"); m2[2] = new Carta("2D");
m2[3] = new Carta("9D"); m2[3] = new Carta("2D");
m2[4] = new Carta("7D"); m2[4] = new Carta("AD");
jugadas.add(m2);
jugadas.add(m1); jugadas.add(m1);
jugadas.add(m2);
String ganadores = mc.ganadores(jugadas); String ganadores = mc.ganadores(jugadas);
......
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