@ddssbm

Консольная игра в Кости, как реализовать возможность выбора между выходом из игры и ее продолжением?

Доброго времени суток. Реализовал простенькую консольную игру в кости, в ней есть выбор между тремя режимами игры - Один соперник, два соперника, игра с самим собой. Если проигрываешь игра дает "Правду или Действие", но это не так важно. Игра функционирует, довольный как кот. К сожалению столкнулся с проблемой выполнения последнего пункта фитч игры. А именно возможность выбора - продолжить игру (тем самым возобновив основной метод игры) или выйти (не простым нажатием красного крестика на консоль а вводом условного Yes).
package com.DiceGameTruthOrDare;

import java.util.Scanner;
import static java.lang.System.*;
import static java.lang.Math.*;

public class DiceGameTruthOrDare {

 //main method the game
    public static void main(String[] args) {
    out.println("Welcome to the game!");
    //out.println(TruthOrDare.TruthOrDare()); //array chek 
    GameMode.modeChoice();
    }
}

Вот основной класс и метод программы. Пробовал обвернуть в цикл while и do while, ничего путного не вышло. Пробовал реализовывать System.exit(n) различными способами, не вышло. Пробовал через рекурсию метода и т.п. Ничего не выходит, а толковый ответ на счет такой ветки у консольного приложения в интернете не нашел. Все про тот же System.exit(n) пишут, но как это правильно реализовать я так и не понял. В общем, надеюсь тут мне подскажут.
P.S. Конечно, можно просто основной метод программы обкрутить в while и написать что-то вроде "для выхода из программы зажмите n + n +n. Но мне интересно именно реализовать ветку, чтобы понять как это вообще может работать."
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Внутри метода создается цикл while(), внутри которого слушаете ввод (Scanner) и если была введена нужная команда, то делаете System.exit(n)
Ну и не забывайте обработать исключения, чтобы например, приложение не выходило на неправильной или несуществующей команде
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы