Почему моя игра не меняет ходы игроков? - PullRequest
0 голосов
/ 19 мая 2018

Я работаю над игрой в крестики-нолики, и у меня есть код, который должен меняться на ход других игроков при щелчке мышью.Вот код:

token - переменная типа char, которая автоматически присваивается космическому персонажу в начале игры.

whosturn также является переменной типа char, которая автоматически присваивается 'X' в начале кода.

Я не собираюсь публиковать весь код, так как он больше 120+линий.Если вы действительно хотите увидеть все остальное, просто дайте мне знать:)

private class MyMouseListener extends MouseAdapter{
        public void mouseClicked(MouseEvent e){
            if(token  == ' ' && whosTurn != ' '){ 
                setToken(whosTurn);
            }else if(isOver()){
                jlblStatus.setText("The game was a tie");
                whosTurn = ' ';
            }else{
                whosTurn = (whosTurn == 'X') ? 'O' : 'X';
                jlblStatus.setText(whosTurn + "'s turn");
            }

        }
    }

Я следовал некоторым учебникам на YouTube, и это код, который я создал на основе некоторых других учебников.В коде нет ошибок, единственная проблема в том, что когда он запускается, всегда ход игрока X и он никогда не меняется даже при щелчке мышью.Любая помощь приветствуется:)

1 Ответ

0 голосов
/ 19 мая 2018
  1. Возможно, вам придется удалить последний оператор "else" и просто запустить его в конце.Кажется, что одна из проблем заключается в том, что программа просто пропускает это и выполняет только первый блок при первом клике.

  2. Убедитесь, что вы добавили слушателя в программу и убедитесь, чтоВы все правильно преодолели.Распространенная ошибка - это когда люди делают опечатки в своих переопределенных методах, поэтому убедитесь, что все работает отлично.Хороший способ проверить это - использовать @Override и скомпилировать программу.

Надеюсь, это поможет!

...