Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/10/2010, 09:50
porito
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: comparar enteros en un array

Ok, te intentare explicar por aqui como es la imagen para que te hagas una idea.
Aun asi, intenta entrar en este enlace que te lleva a la misma imagen:

http://piczasso.com/i/4v3fx.jpg

edito: no me deja hacer click en la URL, pero si la copias y la pegas en un barra de direcciones te carga la pagina con la imagen.

La imagen es de la liga de 3. Entonces imaginate, hay 3 participantes:
1-Porito
2-Ryo
3-Ricardo

La liga tendra 3 partidos puesto que todos pelean contra todos 1 sola vez. Solo partido de "ida". Asi pues, los partidos sera: 1 vs 2, 1 vs 3 y 2 vs 3.

Los jcomboBox son para elegir el resultado de cada equipo, asique tengo un jcomboBox para poner el resultado de Porito en el partido contra Ryo. Otro combo para poner la puntuacion de Porito contra Ricardo, otro para la puntuacion de Ryo contra porito, otro para contra ricardo y 2 combos para ricardo contra porito y ryo. Asi pues, en la liga de 3 tengo 6 jComboBox

Por eso hay 6 indices:
Cita:
int indice1 = this.jComboBox1.getSelectedIndex();
int indice2 = this.jComboBox2.getSelectedIndex();
int indice3 = this.jComboBox3.getSelectedIndex();
int indice4 = this.jComboBox4.getSelectedIndex();
int indice5 = this.jComboBox5.getSelectedIndex();
int indice6 = this.jComboBox6.getSelectedIndex();

Para coger el indice(PUNTUACION) de cada comboBox. Dentro de cada jcombobox tengo los siguientes valores: 10, 7, 5, 3, 1, 0, N/D.

De tal forma que si el valor elegido es 10 puntos, es indice = 0 puesto que el 10 esta en la posicion cero, el 7 en la 1....y el N/D en la 6.
Por eso hago lo de "indice1>indice3 gana el 2" porque si el indice3 es mas pequeño, quiere decir que el valor elegido es mas grande



Si Ryo tiene 7 puntos en su indice3, el indice sera 1, y si Porito tiene 3 puntos en su indice1, el indice sera 3 y como indice1>indice3 ----> 7puntos(indice3) > 3puntos(indice1)....

Parece un poco lioso pero es facil, lo que pasa que por aqui entiendo que cueste. Si logras ver la imagen entenderas. Digamos que hay esto

Código:
           1              2                    3
1         -         comboBox1           comboBox2


2      combobox3        -               comboBox4


3     comboBox5      comboBox6             -

int indice1 = this.jComboBox1.getSelectedIndex();
...
...


Por eso si indice1>indice3 gana el 2, por lo que aumento en 1 el contador de victorias del participante 2, y me guardo el valor de puntos en un contador de puntos:

Código:
if(indice1==0) contador_uno_puntos += 10;
        else{
            if(indice1==1) contador_uno_puntos += 7;
            else{
                if(indice1==2) contador_uno_puntos += 5;
                else{
                    if(indice1==3) contador_uno_puntos += 3;
                    else{
                        if(indice1==4) contador_uno_puntos += 1;
                        else{
                            if(indice1==5 || indice1==6) contador_uno_puntos += 0;
Si sigues sin ver la imagen, si quieres me mandas por privado tu email y te la mando al correo.

Un saludo y espero haberme explicado mejor


pd:esta liga de 3 ya la tengo echa....pero como te dije, para hacerla con 6 de la forma que lo hago es imposible. Cientos de comparaciones tendria que hacer....

Última edición por porito; 27/10/2010 a las 09:56