Как я могу повторно запустить l oop после выхода? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть следующий код: Как я могу снова запустить while l oop после выхода? Причина в том, что после окончания игры в tictactoe я выхожу, пока l oop. Это когда я спрашиваю пользователя, хотят ли они играть снова. Если пользователь вводит «y», я бы хотел вернуться к началу while l oop. Заранее спасибо.

        while(game.getGameState()!=GameState.XWIN &&
                game.getGameState()!=GameState.OWIN &&
                game.getGameState()!=GameState.DRAW ) {

            players[0].play(game);
            if(game.getGameState()!=GameState.XWIN) {
                players[1].play(game);
            }
        }

1 Ответ

1 голос
/ 17 марта 2020

Один из способов - вставить текущее значение , в то время как l oop, во внешнее , в то время как l oop, например:

boolean quit = false;
while (!quit) {
    // Start Game....

    while(game.getGameState()!=GameState.XWIN &&
            game.getGameState()!=GameState.OWIN &&
            game.getGameState()!=GameState.DRAW ) {

        players[0].play(game);
        if(game.getGameState()!=GameState.XWIN) {
            players[1].play(game);
        }
    }

    // Game finished, ask to play again.
    int result = JOptionPane.showConfirmDialog(null, "Do you want to play again?", 
            "Play Again?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
    if (result != JOptionPane.YES_OPTION) {
        quit = true; // if Yes is not selected then quit.
    }
}
...