我正在创建一个小小的Hangman迷你游戏。用户有10次猜测的机会,但只有5条生命。

该应用程序可以运行,但是即使在第五人生之后,它仍会继续运行,尽管我希望它将使播放器退出该循环。

实例化类(Hangman.java)正常工作。

如可实例化类中所述,秘密词是“ julie”。

我的应用程式类别:

    import javax.swing.JOptionPane;

    public class HangmanApp {

    public static void main(String args[]) {
    String input, secret, result, playAgain;
    char guess;
    int i, j, k, lives;

    Hangman myHangman = new Hangman();

    do{
        JOptionPane.showMessageDialog(null, "Hello, welcome to Hangman! You have 10 chances but only 5 lives! Best of luck");

        lives = 5;

        for (j = 10; j > 0; j--) {

            while (lives >= 0){
                input = JOptionPane.showInputDialog(null, "Please enter a letter");
                guess = input.charAt(0);

                //process
                myHangman.setGuess(guess);
                myHangman.compute();
                result = myHangman.getResult();

                if ((input.charAt(0) == 'j') || (input.charAt(0) == 'u') || (input.charAt(0) == 'l') || (input.charAt(0) == 'i') || (input.charAt(0) == 'e')) {
                    JOptionPane.showMessageDialog(null, "That letter is in the word! Current correct letters:  " + result + ".");
                } else {
                    lives--;
                    JOptionPane.showMessageDialog(null, "Sorry, that letter is not there. Current correct letters:  " + result + ".");
                }

                //output
                //JOptionPane.showMessageDialog(null, "Current correct letters:  " + result);

            };
            lives = -1;
        }
        result = myHangman.getResult();
        secret = myHangman.getSecret();

        if (secret.equals(result)) {
            JOptionPane.showMessageDialog(null, "Congratulations, you got it!! The word was " + secret + ".");
        } else {
            JOptionPane.showMessageDialog(null, "Sorry, you didn't get it, better look next time! The word was " + secret + ".");
        }

        playAgain = JOptionPane.showInputDialog("Do you want to play again? yes/no");

    }while (playAgain.equals("yes"));
}


}

最佳答案

尝试以下更改:

while (lives > 0){


您从5开始,然后下降到4 3 2 1 AND0。更改将停止在0

09-27 06:09