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