java - 将值传递给变量
问题描述
我正在创建一个大富翁游戏,我遇到了结束游戏的问题。对于一个类,我有一个访问器方法来获取确定游戏是否结束的变量,当有人破产时,变量“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);
}
}
解决方案
我会建议你创建一个类似下面的方法:
private void endGame() {
this.gameover = true;
}
然后从你的方法调用
if(player1.money < 0) {
System.out.println("Player 1 is bankrupt, Player 2 wins!");
endGame();
}
推荐阅读
- flutter - 我应该担心 Flutter 和 Dart 版本不同吗?
- bash - GitHub Action: bash 脚本 grep 匹配失败但在本地工作
- flutter - 以全局方式将骆驼案转换为蛇案
- java - 无法测试没有内容类型的 PUT 请求
- javascript - 我正在尝试使用“导入”,但出现了不和谐的模块错误
- powerquery - Power Query:如何使用左(基于 A4 的右函数)插入列
- vba - 将格式从 Word 保留到 Excel 的问题
- java - 在 PostPersist 事件方法中更新 JPA 实体
- asp.net-core - 上传模式中的文件未通过
- java - 如何使用 Java 读取 XML 文件的所有子元素?