当游戏超过java时返回主菜单

问题描述 投票:0回答:2

我正在接受我的第一场比赛,并且在玩家输掉比赛时回到主菜单时出现问题。

主(游戏)课程:

public static void main(String[] args) throws InterruptedException {
    Main main = new Main();

这是菜单添加到我的框架的地方。菜单本身是一个带有图形和鼠标滑块的JComponent:

main.setMenu();
    while (true) {
        menuChoice = meny.getDecision();
        if (i == 0 && menuChoice == 2) {
            main.run(cp);
        } else if (i > 0) {
            main.run(cp1);
        } else if (menuChoice == 0) {
            System.exit(0);
        }

public void run(Computer cp) throws InterruptedException {
    if (time == 0) {

这是我的框架获取游戏背景的地方,依此类推:

        setWindow(data, player, cp);
        time++;
    }

    //Here's a bunch of irrelevant ifs

    } if (cpScore.returnScore() == 10 && time > 0) {

这是您应该返回主菜单的地方。这里需要做的基本上是mainmethod在绝对开始时所做的事情(添加一个Mainmenu框架,它接受输入以获得进一步的指令)。

}
}

有任何想法吗?

java swing jframe jcomponent pong
2个回答
0
投票

可能最简单的方法是将主菜单设置为自己的方法,其布尔值初始化为true,然后只要此值为true,菜单就会继续,当您想要返回主菜单时,只需更改此值返回false,结束循环并允许返回主菜单方法。


0
投票

在主类中创建一些函数,您可以根据需要调用它们来执行您请求的操作。没有人会为你编写代码,但这里有一些想法

if (main.isGameOver() || main.isMainMenuRequested()) { 
   main.stopGameThread();
   main.purgeOldGraphicsEtc();
   main.executeMenuThread();
}
© www.soinside.com 2019 - 2024. All rights reserved.