Я писатель про заек.
Предлагаю к рассмотрению проект текстовой игрушечки, в которой вместо стандартного ввода слов (что в случае русского языка, на мой взгляд, чересчур усложняет игровой процесс) в качестве парсеров используются условные знаки.
Единственный вопрос, занимающий меня в рамках форума - это в каком интерпретаторе лучше делать подобную разработку, и как примерно будет выглядеть код? Любому, кому будет интересно откликнуться, буду очень признателен, поскольку себя самого назвать программистом могу с большой натяжкой.
———————-
Итак, запускаем игру. Выдаётся текст:
На полянке Алиса (1), Коля Герасимов(2), Маша(3) и Корней Чуковский (4). Кем хотите играть сейчас?
Как игроку, мне предлагается увидеть эту полянку глазами любого из этих персонажей. Для этого у меня в распоряжении есть парсер #. Формат его использования (#<номер персонажа>).
Смотрим "глазами Алисы": #1.
(Снова выводится перечисление объектов под номерами). Но теперь уже видны предметы.
Солнечная полянка! Алиса обводит мир загадочными детскими глазами, и видит, что пространство с ней разделяет Коля Герасимов(2), Маша(3) и Корней Чуковский (4). На подстилке (5) лежит печенье (6) и чайник (7).
Дальше, мы в качестве Алисы хотим рассмотреть поближе, к примеру, Колю Герасимова. Для этого у нас есть универсальный парсер @. (при желании, сам парсер можно глобально заменить на иной символ, но это не суть важно.)
Итак, смотрим.
@ 2
Коля Герасимов - мальчик не из робкого десятка. Сейчас он сидит напротив Алисы и смотрит на неё выразительными глазами. На шее у него бабочка. (Жирным шрифтом дан текст, описывающий Состояние объекта Коля на данный момент в глазах Алисы. Оно может меняться. Вопрос: где мне задавать это состояние, в описании объекта Алиса когда я задаю всё, что она видит в разные моменты игры, или в описании объекта "Коля"?)
Дальше, нам в качестве Алисы может захотеться спросить Колю о чём-либо. Пусть список тем для разговора ограничится тем, что Алиса видит вокруг себя. Для общения станем пользоваться двумя парсерами, ! и ?;. Первый для восклицательного обращения, а второй для вопросительного . То есть это по сути эквиваленты команд "сказать персонажу о чем-то" и" спросить персонажа о чем-то".
! 2 4 (сказать Коле о Корнее Чуковском.)
"Ах, что за славные люди, эти детские писатели!" говорит Алиса Коле. "Да? " - сомневается Коля. " А по-моему они все слегка сумасшедшие!
(хотелось бы предусмотреть хотя бы две различные реакции на одинаковое обращение к персонажу. То есть, во второй раз Коля ответил бы как-нибудь по-другому. При этом после определённого ответа Корней Чуковский изменяет своё "состояние". Kак мне это сделать?)
? 2 6 (спросить Колю о печенье)
"А что, Коля, неужели ты не знаешь, что сладкое портит зубы?" интересуется Алиса. " Вот еще выдумки!" отвечает Коля. " От сладкого крепнет уверенность в сегодняшнем дне!" Коля встаёт и идёт к реке. (последнее - это перемена состояния Коли. Он уходит.)
(Кстати, о репликах. Например, я задаю строки ответов на вопросы и восклицания в целом виде, а программа при выводе разбивает их более "литературно". Я задал строку "Вот еще выдумки! От сладкого крепнет уверенность в сегодняшнем дне!" а программа вставляет между предложениями "отвечает Коля" или "интересуется Алиса". Как мне это сделать?)
(продолжение следует)
Неактивен
b0n0b0 написал:
Куски кода - интересно.
Советы - неинтересно.
А ты вспомни с чего начал свое выступление: " Предлагаю к рассмотрению проект текстовой игрушечки".Вот и рассмотрели. И чем твой вариант отличается от менюшной игры? К чему усложнять? РТАДС довольно сносно работает с русским, а если не нравятся глаголы, используй существительные, как в "Space under window". Только эксперименты на то и эксперименты, что ими оставаться.
Неактивен