我正在制作一个游戏,每次他们在java guy中输赢时,我都需要把它加起来
我有这个和它在一个行动的听众。如果我丢失,它将显示1。然后它重置电路板,1将留在那里,这就是我想要的。。如果我再次输了,它不会把1变成2。胜利也有同样的问题。我希望这是足够的信息我正在制作一个游戏,每次他们在java guy中输赢时,我都需要把它加起来,java,user-interface,actionlistener,Java,User Interface,Actionlistener,我有这个和它在一个行动的听众。如果我丢失,它将显示1。然后它重置电路板,1将留在那里,这就是我想要的。。如果我再次输了,它不会把1变成2。胜利也有同样的问题。我希望这是足够的信息 if (game.getGameStatus() == GameStatus.Lost) { displayBoard(); JOptionPane.showMessageDialog(null, "You Lose \nThe game will reset"); //exposeMi
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));
}
每次用0覆盖损失数,然后增加1。在该方法之外初始化变量
loss
,不要每次递增它时都这样做。每次输入if语句时,定义“int loss=0”,它会被0覆盖,然后再次添加1,结果每次都是1
如此定义
int losses = 0;
以前
if (game.getGameStatus() == GameStatus.Lost) {
...
将修复此问题,如下所示:
int losses = 0;
if (game.getGameStatus() == GameStatus.Lost) {
...
但请注意,此解决方案只是为了向您说明问题所在,为了真正纠正问题,您应该使用成员变量,而不是污染全局名称空间我建议您使用属性文件存储此信息,如 你用 比你能用的还多
int loose =(prop.getProperty("PlayerLoose"));
loose++;
prop.setProperty("PlayerLoose", loose+"");
String lost = Integer.toString(loose);
jtfLosses.setText(String.format(lost));
谢谢你的帮助
int loose =(prop.getProperty("PlayerLoose"));
loose++;
prop.setProperty("PlayerLoose", loose+"");
String lost = Integer.toString(loose);
jtfLosses.setText(String.format(lost));