Логическая ошибка Java GUI Tic Tac Toe, когда О выигрывает, она не появляется сразуJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Логическая ошибка Java GUI Tic Tac Toe, когда О выигрывает, она не появляется сразу

Сообщение Anonymous »

У меня возникла логическая ошибка в игре «Крестики-нолики».
Я написал код с использованием Java.
Это метод, который ставит O каждый раз, когда я помещаю X.

Код: Выделить всё

   /* creating method to place O*/
private void placeO(){
String[] arr = { b1.getText() , b2.getText() , b3.getText(),
b4.getText() , b5.getText() , b6.getText(),
b7.getText() , b8.getText() , b9.getText()};

boolean check = true;
try{
boolean result = checkForWinner(arr);
while(check){
/*if there is a winner or tie then stop */
if(result == true){
break;
}
int r = (int)( Math.random()* 8 ) ;
/*generate random number between 0 and 8 */
if(arr[r] == ""){
switch(r){
case 0 : b1.setText("O");break;
case 1 : b2.setText("O");break;
case 2 : b3.setText("O");break;
case 3 : b4.setText("O");break;
case 4 : b5.setText("O");break;
case 5 : b6.setText("O");break;
case 6 : b7.setText("O");break;
case 7 : b8.setText("O");break;
case 8 : b9.setText("O");
}
check = false;
}
}
}catch(Error e){
System.out.print(e);
}
}
каждый раз, когда я нажимаю кнопку, это событие происходит

Код: Выделить всё

 private void b8ActionPerformed(java.awt.event.ActionEvent evt) {
if(b8.getText() == ""){
b8.setText("X");
placeO();
}
}
Проблема, с которой я столкнулся, заключается в том, что каждый раз, когда O выигрывает, сообщение не появляется, пока я не поставлю еще один X.
Есть ли способ исправить эту логику ошибки?

Подробнее здесь: https://stackoverflow.com/questions/669 ... -immedetly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»