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.