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

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

Похожие вопросы