@unclerusyt

Как сделать мини консольную игру?

Как мне создать приложение.Суть такова например в консоли пишется вопрос?
Как ты сегодня провёл день ?
и ответы на него под номерами
1)Хорошо
2)Не очень
3)Плохо
и с каждым выбором номера идёт другой совсем ход событий то есть с каждым ответом меняется вопрос и тому подобное
Прошу не предлагать Twine и прочее мне нужно только через консоль
И если можно то можете мини пример написать
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Рисуете на бумажке граф состояний вашей игры.
Каждый узел этого графа - это вопрос. Из узла выходят стрелочки в другие узлы. Каждая стрелочка - это вариант ответа и реакция на нее игры.
Так вы опишете граф состояний конечного автомата.
Теперь этот граф вам нужно оформить для использования в программе.
Обычно граф описывают с помощью матрицы состояний. Это матрица N*N, где N-это количество состояний игры. Каждая ячейка с координатами (i, j) такой матрицы определяет переход из i-ого в j-ое состояние. Если в ячейке ноль, то перехода нет, а если 1, то есть.
Обычно в такой матрице нулей гораздо больше чем единиц, поэтому такую матрицу кодируют в виде перечисления всех стрелочек-переходов из исходного в следующее состояние.
В исходном коде или в файле описываете N состояний, для каждого состояния перечисляете все варианты ответов, для каждого варианта ответа указываете какое состояние будет при его выборе.
Такую структуру можно описать в виде json или yaml-файла, либо прямо в коде средствми выбранного языка программирования (словарь, или функция с switch-case, или много if-ов).
Программа будет представлять цикл и переменную со ссылкой на текущее состояние.
В цикле печатаете вопрос, который соответствует текущему состоянию и варианты ответов на него, запрашиваете ответ у пользователя, в зависимости от ответа присваете в качестве текущего новое состояние.

Если вам что-то не понятно в этом тексте, то нет смысла задавать дополнительные вопросы, в этом случае вы гарантированно не справитесь с заданием. Следует искать информацию о ненакомых терминах в интернете.
Удачи.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Adler_lug
@Adler_lug
Ну так и в чем вопрос? Создаете консольное приложение, а дальше все на Console.WriteLine, Console.ReadKey и множестве if-else или switch-case пишете логику.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
с каждым выбором номера идёт другой совсем ход событий то есть с каждым ответом меняется вопрос и тому подобное

Во времена DOS/RPG игрушек был создан такой себе DSL на котором можно было описывать диалоги
персонажей к квестах. Вот интересно было-бы поднять хотя-б название этого языка или имя его авторов. Информацию я эту слышал в каком-то youtube канале где такие двое болтунов любят болтать про старое легаси.
Ответ написан
Комментировать
Griboks
@Griboks
Это называется конечный автомат, матрица состояний, граф переходов и остальное по теме.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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