就像我在标题中说的那样,我正在制作有关高中的RPG游戏。这是设置您的一天以按时间顺序执行各个序列的主要循环。我的问题是如何做到这一点,以便在循环中的每个方法之后检查boolean“beat”或boolean“lost”(指游戏的状态)是否已变为true,但仍将这些方法保持在一起在一个循环中。是在while循环内嵌套if语句的唯一方法吗?

while (!g.getBeat() || g.getLost())
{
    g.wakeUp();
    g.goToSchool();
    g.beforeLunch();
    g.lunchActivity();
    g.afterLunch();
    g.afterSchool();
    g.home();
    g.sleep();
}

最佳答案

您将必须手动执行此操作。为了帮助您减少编写一些代码,请创建一个同时检查这两种情况的方法:

private boolean stopTheLoop() {
    return g.getBeat() || g.getLost();
}

现在,在每个方法之后进行检查,将循环转换为无限循环:
while (true) {
    g.wakeUp();
    if (stopTheLoop()) break;
    g.goToSchool();
    if (stopTheLoop()) break;
    g.beforeLunch();
    if (stopTheLoop()) break;
    ...
}

关于java - 是否可以在循环中的每个方法之后检查条件?如果是这样,怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28655279/

10-11 23:08
查看更多