Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2012, 10:16
striderwar
 
Fecha de Ingreso: diciembre-2005
Ubicación: Jalisco
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Error en el Juego Gato

Hola, recien estoy iniciando a programar en Java.
Y mi maestro me pidio un Juego en gato, lo hice en jFrame.
puse 9 labels y 9 botones, cuando presiono el boton se pone 'X' u 'O'
iniciando 'X'... Nos pidio que hicieramos jugar contra la computadora y nos enseño
a crear un Random.... pero cuando juego contra la computadora siempre se me
traba el programa y no encuentro el error.
a ver si alguien puede ayudarme
......

turno=0 // Lo puse para que el programa inicie escribiendo 'X' y despues cambia de valor para escribir 'O'

esta es la imagen del gato


y este es el codigo

Solo pongo lo que hace la el random, y un boton cuando yo presiono los demas botones son iguales.

Código:
    public String random(){
            int lo;
       lo=r.nextInt(limit+1);
       
       while(lo>0){
           if((!"X".equals(jLabel1.getText())) || (!"X".equals(jLabel2.getText()))
           || (!"X".equals(jLabel3.getText())) || (!"X".equals(jLabel4.getText()))
           || (!"X".equals(jLabel5.getText())) || (!"X".equals(jLabel6.getText()))
           || (!"X".equals(jLabel7.getText())) || (!"X".equals(jLabel8.getText()))
           || (!"X".equals(jLabel9.getText())) || (!"O".equals(jLabel1.getText()))
           || (!"O".equals(jLabel2.getText())) || (!"O".equals(jLabel3.getText()))
           || (!"O".equals(jLabel4.getText())) || (!"O".equals(jLabel5.getText()))
           || (!"O".equals(jLabel6.getText())) || (!"O".equals(jLabel7.getText()))
           || (!"O".equals(jLabel8.getText())) || (!"O".equals(jLabel9.getText()))){
           switch(lo){
               case 1:{
                   if (("X".equals(jLabel1.getText())) || ("O".equals(jLabel1.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel1.setText("O");
                   lo=0;
                   turno=0;
                   }
                   }
                   break;
                      }
               case 2:{ 
                   if (("X".equals(jLabel4.getText())) || ("O".equals(jLabel4.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel4.setText("O");
                   lo=0;
                   turno=0;
                   }
                   }
               break;
                      }
                   case 3:{ 
                       if (("X".equals(jLabel2.getText())) || ("O".equals(jLabel2.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel2.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
                 break;
                   }
                   case 4:{ 
                 if (("X".equals(jLabel3.getText())) || ("O".equals(jLabel3.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel3.setText("O");
                   lo=0;
                   turno=0;
               }   
                 }
               break;
                   }
                   case 5:{
                       if (("X".equals(jLabel5.getText())) || ("O".equals(jLabel5.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel5.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
               break;
                       }
                   case 6:{ 
                       if (("X".equals(jLabel6.getText())) || ("O".equals(jLabel6.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel6.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
               break;
                   }
                   case 7:{ 
                       if (("X".equals(jLabel7.getText())) || ("O".equals(jLabel7.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel7.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
               break;
                   }
                   case 8:{ 
                       if (("X".equals(jLabel8.getText())) || ("O".equals(jLabel8.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel8.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
               break;
                   }
                   case 9:{ 
                       if (("X".equals(jLabel9.getText())) || ("O".equals(jLabel9.getText())) || turno==0){
                    break;
                     }
                   else{
                   if(turno==1){
                   jLabel9.setText("O");
                   lo=0;
                   turno=0;
               }
                       }
               break;
                   }
           }
                  }
       }
    return null;
    }
   
    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
        if (("X".equals(jLabel1.getText())) || ("O".equals(jLabel1.getText()))){
            return;
        }
        else{
        if(turno==0){
        jLabel1.setText("X");
        turno=1;}
        else{
        jLabel1.setText("O");
        turno=0;}
        if (b==1){
       random();
        }
      compar(); 
        }
    }                                     
    private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        System.exit(0);
    }                                         

    private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        borrar();
    }                                         

    private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        jLabel11.setText("Humano vs Computadora");
        b=1;
    }                                             

    private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        jLabel11.setText("Humano vs Humano");
    }
Gracias.