首页 > 解决方案 > 将值传递给变量

问题描述

我正在创建一个大富翁游戏,我遇到了结束游戏的问题。对于一个类,我有一个访问器方法来获取确定游戏是否结束的变量,当有人破产时,变量“gameover”变为真。在另一个类中,我创建了一个调用此方法的对象,当变量为真时,掷骰子的按钮变为禁用状态。我的问题是,出于某种原因,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);
    }
}

标签: java

解决方案


我会建议你创建一个类似下面的方法:

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

然后从你的方法调用

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

推荐阅读