Increible aportacion RyoAkiyama. Muchas muchas gracias
Desde luego que me va a ayudar. Pero aun no tengo claro una cosa....ese codigo me serviria para saber el ganador(por victorias, o en caso de empate, por puntos).
Pero yo necesito saber las victorias y puntos de todos para ordenar la clasificacion.
Y claro, puede darse el caso de que:
-Hay un ganador y este será primero en la clasificacion que con lo que me has dado lo hago.
-El segundo y tercero esten empatados a puntos y victorias
-El cuarto y quinto esten empatados a victorias pero por puntos se pone a uno cuarto y al otro quinto
-Y luego el sexto.
Esta posibilidad es solo un ejemplo. Hay muchas combianaciones, ya que puede haber tambien un triple empate a victorias y puntos....etc.
Para que te hagas una idea, tengo una liga echa de solo 3 participantes.Te pongo parte del codigo porque entero es muy largo, pero asi te haces una idea.
Los puntos, los cojo de un comboBox. Son como combates de boxeo, entonces a cada participante se le adjudica unos puntos, que se cogen de un comboBox.
Luego, alfinal, esos puntos y victorias se los paso a un metodo para ordenar la clasificacion, que seria hacer lo que tu me has puesto:
Código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
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();
int contador_uno_puntos = 0;
int contador_dos_puntos = 0;
int contador_tres_puntos = 0;
int contador_uno_victorias = 0;
int contador_dos_victorias = 0;
int contador_tres_victorias = 0;
/***************PRIMER PARTIDO, 1-2*******************/
if(indice1<indice3){
contador_uno_victorias++;
}else{
if(indice1>indice3){
contador_dos_victorias++;
}else{
}
}
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;
}
}
}
}
}
if(indice3==0) contador_dos_puntos += 10;
else{
if(indice3==1) contador_dos_puntos += 7;
else{
if(indice3==2) contador_dos_puntos += 5;
else{
if(indice3==3) contador_dos_puntos += 3;
else{
if(indice3==4) contador_dos_puntos += 1;
else{
if(indice3==5 || indice3==6) contador_dos_puntos += 0;
}
}
}
}
}
//}//primer else primer partido
/***************SEGUNDO PARTIDO, 2-3*******************/
if(indice4<indice6){ //CUANDO PASE LOS PARAMETROS AL METODO, PASAR TAMBIEN LOS DE EL C3.
contador_dos_victorias++;
}else{
if(indice4>indice6){
contador_tres_victorias++;
}else{
}
}
if(indice4==0) contador_dos_puntos += 10;
else{
if(indice4==1) contador_dos_puntos += 7;
else{
if(indice4==2) contador_dos_puntos += 5;
else{
if(indice4==3) contador_dos_puntos += 3;
else{
if(indice4==4) contador_dos_puntos += 1;
else{
if(indice4==5 || indice4==6) contador_dos_puntos += 0;
}
}
}
}
}
if(indice6==0) contador_tres_puntos += 10;
else{
if(indice6==1) contador_tres_puntos += 7;
else{
if(indice6==2) contador_tres_puntos += 5;
else{
if(indice6==3) contador_tres_puntos += 3;
else{
if(indice6==4) contador_tres_puntos += 1;
else{
if(indice6==5 || indice6==6) contador_tres_puntos += 0;
}
}
}
}
}
etcetera.....
....
...
ordenar_clasificacion(contador_uno_puntos, contador_dos_puntos, contador_tres_puntos, contador_uno_victorias, contador_dos_victorias, contador_tres_victorias);
Y aqui te pongo como ordeno yo la clasificacion: jlabel 19 es donde va el primero de la clasificacion, jLabel20 el segundo y jLabel21 el tercero. Y en los jLabels27...28...coloco las victorias y puntos. Mira la imagen:
[URL="http://www.imaxenes.com/imagen/liga31pi50iy.jpg.html"][/URL]
Y el codigo de ordenadar clasificacion:
Código:
public void ordenar_clasificacion(int contador_uno_puntos, int contador_dos_puntos, int contador_tres_puntos, int contador_uno_victorias, int contador_dos_victorias, int contador_tres_victorias){
if((contador_uno_victorias > contador_dos_victorias) && (contador_uno_victorias > contador_tres_victorias)){ //GANA 1
jLabel19.setText(jTextField1.getText());
jLabel26.setText(contador_uno_puntos+"");
jLabel29.setText(contador_uno_victorias+"");
if(contador_dos_victorias > contador_tres_victorias){//segundo el 2 y tercero 3
jLabel20.setText(jTextField2.getText());
jLabel27.setText(contador_dos_puntos+"");
jLabel30.setText(contador_dos_victorias+"");
jLabel21.setText(jTextField3.getText());
jLabel28.setText(contador_tres_puntos+"");
jLabel31.setText(contador_tres_victorias+"");
}
else{
if(contador_tres_victorias>contador_dos_victorias){ //segundo el 3 y tercero el 2
jLabel20.setText(jTextField3.getText());
jLabel27.setText(contador_tres_puntos+"");
jLabel30.setText(contador_tres_victorias+"");
jLabel21.setText(jTextField2.getText());
jLabel28.setText(contador_dos_puntos+"");
jLabel31.setText(contador_dos_victorias+"");
}
else{//MIRAMOS PUNTOS PORQUE HAY EMPATE ENTRE LOS 2 Y 3
if(contador_dos_puntos>contador_tres_puntos){ //segundo 2 y tercero 3
jLabel20.setText(jTextField2.getText());
jLabel27.setText(contador_dos_puntos+"");
jLabel30.setText(contador_dos_victorias+"");
jLabel21.setText(jTextField3.getText());
jLabel28.setText(contador_tres_puntos+"");
jLabel31.setText(contador_tres_victorias+"");
}else{
if(contador_tres_puntos>contador_dos_puntos){ //segundo 3 y tercero 2
jLabel20.setText(jTextField3.getText());
jLabel27.setText(contador_tres_puntos+"");
jLabel30.setText(contador_tres_victorias+"");
jLabel21.setText(jTextField2.getText());
jLabel28.setText(contador_dos_puntos+"");
jLabel31.setText(contador_dos_victorias+"");
}else{ //empate
jLabel20.setText(jTextField2.getText());
jLabel27.setText(contador_dos_puntos+"");
jLabel30.setText(contador_dos_victorias+"");
jLabel21.setText(jTextField3.getText());
jLabel28.setText(contador_tres_puntos+"");
jLabel31.setText(contador_tres_victorias+"");
JOptionPane.showMessageDialog(rootPane, "Hay un empate a victorias y puntos entre 2 participantes.", "EMPATE A VICTORIAS Y PUNTOS", JOptionPane.ERROR_MESSAGE);
}
}
}
}
}
else{//AHORA COMPROBADO SEGUNDO CASO,C2>C1YC3
.......
........
.......
......
Imaginate lo largo que es....y eso que aun falta codigo y es solo la liga de 3.
Por eso la liga de 6 me parecia IMPOSIBLE hacerlo asi.
Un saludo y a ver si me puedes ayudar con lo que te digo, el "colocar" a todos, no solo el ganador.
GRACIAS!