我在动作侦听器中有此功能。如果我输了,它将显示1。然后重置板,而1将停留在我想要的位置。然后,如果我输了,它不会将1更改为2。同样的问题也可以解决。我希望这是足够的信息。
if (game.getGameStatus() == GameStatus.Lost) {
displayBoard();
JOptionPane.showMessageDialog(null, "You Lose \nThe game will reset");
//exposeMines = false;
game.reset();
displayBoard();
int losses = 0;
losses = losses + 1;
String lost = Integer.toString(losses);
jtfLosses.setText(String.format(lost));
}
最佳答案
每次输入if语句时,您都在定义“ int loss = 0”,该语句将被0覆盖,然后再次加1,每次结果为1。
如此定义
int losses = 0;
之前
if (game.getGameStatus() == GameStatus.Lost) {
...
将解决此问题,如下所示:
int losses = 0;
if (game.getGameStatus() == GameStatus.Lost) {
...
但请注意,此解决方案只是向您显示问题是什么,要使其真正正确,应使用成员变量,而不要污染全局名称空间。
关于java - 我正在做一个游戏,每当他们输掉或赢了Java家伙时,我都需要加起来,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21712998/