gpt4 book ai didi

java - 如何使用 JOptionPane 重新启动应用程序?

转载 作者:行者123 更新时间:2023-11-30 08:11:55 25 4
gpt4 key购买 nike

所以当玩家在我的游戏中死亡时,我想要一个弹出窗口来询问他们是想重新开始还是退出。 NO 和 CANCEL 选项工作正常 (System.exit(0)) 但 YES 选项是我遇到麻烦的地方。 YES 时我调用主游戏

   private void playerHealth() {
JDialog.setDefaultLookAndFeelDecorated(true);
if (player.health <= 0) {
int response = JOptionPane.showConfirmDialog(null, "Do you want to continue?", "Confirm",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (response == JOptionPane.NO_OPTION) {
System.exit(0);
}
else if (response == JOptionPane.YES_OPTION) {
new Game().start();
}
else if (response == JOptionPane.CLOSED_OPTION) {
System.exit(0);
}
}
}

使用我的 Launcher 类中的一行

package core;

public class Launcher {

public static void main(String[] args){
//Launches new Game
new Game().start();
}
}

它会重新启动,但弹出窗口不会消失。游戏不能再玩了,我必须退出并重新开始。如果有人能想出一种方法来阻止提示在单击"is"后一次又一次地弹出,那就太好了。

谢谢

编辑:我把

player.health = 100;

在代码中:

else if (response == JOptionPane.YES_OPTION) {
player.health = 100;
new Game().start();
}

这似乎解决了问题。但是,我现在遇到了一个完全不同的问题,因为每次都会启动一个新的应用程序,而不会删除旧的应用程序。有没有办法删除旧的并开始新游戏?

谢谢

最佳答案

查看health 变量。
如果你告诉弹出窗口再次显示,这种情况:

player.health <= 0

重启后必须为真。因此,我希望 playerhealth 变量是静态的,静态变量也必须重新启动

关于java - 如何使用 JOptionPane 重新启动应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com