В этом блоге я продолжаю с того места, на котором остановился, из статьи «Как создать текстовую приключенческую игру: серверная часть, Ruby», ссылка ниже.
- Создайте компоненты
Мой интерфейс состоит из пяти компонентов: приложение, приветствие, регистрация, приключение и вход. Иерархическая логика в этом приложении довольно проста, я постоянно обновлял своего пользователя состоянием, вызовами выборки и сессиями и даже не стал использовать реквизиты.
2. Создать вход и регистрацию
Расставьте приоритеты для компонентов входа и регистрации, чтобы протестировать функциональность на протяжении всего процесса создания. Если вы запустите пользователя для тестирования, что я рекомендую, вам потребуется только войти в систему для отладки.
Это создает пользовательский сеанс, полный код доступен по ссылке GitHub ниже.
3. Создайте приключенческий компонент с текстом ситуации и выбора
Сложная часть логики этого приложения находится в бэкэнде. Чтобы отобразить ситуацию и текст выбора, все, что вам нужно сделать, это получить доступ к связанным свойствам через user. UseEffect и обработчик состояния, используемые для доступа и хранения пользовательского сеанса, не показаны, но их можно просмотреть по ссылке GitHub в конце статьи.
Я получаю доступ к тексту выбора и ситуации через пользовательские методы, встроенные в файл пользовательских моделей; хотя в этом нет необходимости, это значительно упрощает жизнь и оставляет меньше места для ошибок.
Кратко вернемся к бэкенду. Это методы, которые я использую для доступа к ситуации и тексту выбора. К сожалению, последний метод не позволяет связать выбор с ситуацией более одного раза (вариант, который вам, вероятно, понадобится, когда вы начнете писать); Я внесу поправку в ближайшие пару недель и опубликую измененный код здесь и на Github.
Чтобы использовать эти методы в вашем файле javascript, вам нужно добавить их в разрешенные атрибуты в User Serializer.
С этими внутренними настройками доступ к вашей исходной истории в Javascript должен пройти гладко.
4. Стиль и написание
Теперь, когда функциональность приложения реализована, последний шаг — написать и создать свою историю.
Прямо сейчас текст просто попадает прямо в начальный файл. Это кажется немного громоздким, и я буду пересматривать это (особенно потому, что это затрудняет добавление разрывов строк).
Ссылка на гитхаб:
Не стесняйтесь разветвлять и клонировать, я надеюсь, что вы найдете некоторые элементы полезными, и следите за обновлениями, пока я работаю над тем, чтобы сделать окончательную версию более удобной для пользователя/писателя.