Передача значений в переменную - PullRequest
2 голосов
/ 16 июня 2020

Я создаю игру «Монополия» и столкнулся с проблемой завершения игры. Для одного класса у меня есть метод доступа для получения переменной, которая определяет, окончена игра или нет, причем переменная gameover становится истинной, когда кто-то становится банкротом. В другом классе я создал объект, который вызывает этот метод, при этом кнопка, которая бросает кости, становится недоступной, когда переменная имеет значение true. Моя проблема в том, что по какой-то причине переменная gameover никогда не меняется на true в классе с помощью кнопки, хотя я установил ее на true, когда кто-то проигрывает.

Метод доступа:

public boolean getGame()
{
    return gameover; 
}

Пример о том, когда кто-то проигрывает в методе рисования:

if(player1.money < 0)
{
        System.out.println("Player 1 is bankrupt, Player 2 wins!");
        gameover = true; 
}

Метод, который прослушивает щелчки мыши по кнопке:

public void actionPerformed(ActionEvent evt)
{
    repaint();
    boolean condition = x.getGame();
    if(condition == true)
    {
        b1.setEnabled(false);
    }
}

1 Ответ

1 голос
/ 16 июня 2020

Я предлагаю вам создать такой метод, как следующий:

private void endGame() {
this.gameover = true;
}

, а затем вызвать из вашего метода

if(player1.money < 0) {
        System.out.println("Player 1 is bankrupt, Player 2 wins!");
        endGame();   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...