关于掷骰子作业的游戏

时间:2017-03-21 22:08:35

标签: java loops if-statement random

这是我第一次在这里提问。 我是java新手,我在这段代码中遇到了循环问题 我不知道在哪里打破循环。

谢谢你的帮助:) this image is from the book regarding this question

printf

}

2 个答案:

答案 0 :(得分:1)

问题出现在第二阶段'游戏逻辑,游戏在胜利之后继续进行,并且你在每次掷骰后增加损失计数器的时候,如果首先掷出7,那么它应该只是一个损失,然后游戏结束。你可能想要更像这样的东西:

    else {
        while (true) {
            int rndice3 = rn.nextInt(5) + 1;
            int rndice4 = rn.nextInt(5) + 1;

            if (rndice3 + rndice4 == sum) {
                // System.out.println("you won");
                counterw++;
                break;
            }

            if (rndice3 + rndice4 == 7) {
                counterl++;
                break;
            }
        }
    }

答案 1 :(得分:0)

对我来说,你可以使用boolean xc退出循环而不是使用点语句(假设玩家赢了,我认为循环不应该运行aagin)

现在do {} while()循环就像这样

do中的代码总是运行ATLEAST 1次,然后检查结束时的while语句,如果语句仍为true则再次运行,直到语句为false,因此你想要的是退出要求(鉴于玩家赢了......只是使用它?)

示例

do {
    xc = false;
    if(points == condition){
        xc = true;
    }
    // some code
} while(!xc)