Как реализовать диалог в консоли? - C#
Формулировка задачи:
Всем привет. Такой вопрос как можно реализовать диалог в консоли.
К примеру:
Вы встречаетесь на улице с человеком.
задайте ему вопрос: 1:Привет. Как дела?
2:Куда путь держишь?
3:выход из диалога.
И чтоб при нажатии клавиши 1 был ответ на первый вопрос. При нажатии на клавишу 2 второй.(И чтоб эти 2 вопроса я мог задавать пока не нажму 3)
Я пробовал через do while и в do ставил if else но так не получается сделать циклом. нажимаю 1 и идет ответ на него, а если нажимаю 2 то повторяется ответ на первый, нажимаю 3 и он выходит из диалога(но не всегда бывает повторяет несколько раз ответ на первый.)
Console.WriteLine("Выбирите вопрос который хотите задать незнакомцу:\n1:Кто ты?\n2:Можно ли выбраться отсюда?\n0:Продолжить путь.");
do
{
if (Console.ReadKey().Key == ConsoleKey.D1)
{
Console.WriteLine("-Я Джосеф. Я не 0был христианинам и за это очутился сдесь.");
}
else
{
Console.WriteLine("-Нужно пройти все круги ада и сразиться со всеми стражами.");
}
}
while (Console.ReadKey().Key != ConsoleKey.D0);
Console.WriteLine("Вы продолжили свой путь.");Решение задачи: «Как реализовать диалог в консоли?»
textual
Листинг программы
Console.WriteLine("Выбирите вопрос который хотите задать незнакомцу:\n1:Кто ты?\n2:Можно ли выбраться отсюда?\n0:Продолжить путь.");
ConsoleKey key = Console.ReadKey().Key;
do
{
if (key == ConsoleKey.D1)
{
Console.WriteLine("-Я Джосеф. Я не был христианином и за это очутился здесь.");
}
else
{
Console.WriteLine("-Нужно пройти все круги ада и сразиться со всеми стражами.");
}
key = Console.ReadKey().Key; //ожидаете нажатия
}
while (key != ConsoleKey.D0);
Console.WriteLine("Вы продолжили свой путь.");