Это мой первый проект JavaFX.
Я создал игру «Крестики-нолики» с помощью JavaFx. Игра работает в режиме «игрок против игрока» и идеальна, но код, который я использовал, слишком длинный.
Вот несколько очевидных дубликатов, но они совершенно разные:
Код крестики-нолики помогает улучшить
Кодовый гольф: крестики-нолики
Это мой код для первой кнопки, который я должен повторить еще для восьми кнопок:
one.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent actionEvent) {
System.out.println(1);
System.out.println("my state is " + state[0]);
if (state[0] == 0){
state[0] = 1 ;
for (int a: state ) {
System.out.print(a);}
if(i%2==0){
one.setText("X"); i+= 1;
System.out.println(i+"recorded");
turn.setText("O turn");
result[0] = 'x';
win() ;
}
else{
one.setText("O"); i+= 1 ;
System.out.println(i+"recorded");
turn.setText("X turn");
result[0] = 'o';
win() ;
}
}
}
});
Скриншот:
Есть ли возможность избежать повторения кода еще для 8 кнопок?
На скриншоте видно, что есть и повторяющиеся циклы for.
Это мой самый первый проект с графическим интерфейсом, но я не собираюсь оставаться новичком.
Редактировать
После того, как я не вижу в коде цикла for. Возможно, вы имели в виду if-утверждения? - NiVeR
Да, я имел в виду утверждения if.