Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
10.06.2011 21:33

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Обработка несуществующих локаций

Продублирую интересную, на мой взгляд, идею. Изрядным подспорьем для "эмуляции" объектной системы было бы добавление в платформе возможности обработки несуществующих локаций. В этом случае куча запросов по реализации объектной модели отпадёт, как мне кажется, сразу.

Например, в модуле меню мне сейчас приходится называть функцию "Меню.ДобавитьПункт" и вызывать её с передачей параметра — именем "объекта", например:

Код:

Пример 1:

GS 'Меню.Создать', 'МенюСундука'
GS 'Меню.ДобавитьПункт', 'МенюСундука', 'Осмотреть сундук'
GS 'Меню.ДобавитьПункт', 'МенюСундука', 'Открыть сундук'
GS 'Меню.Вызвать', 'МенюСундука'

Было бы удобнее (и нагляднее) использовать такой код:

Код:

Пример 2:

GS 'СоздатьМеню', 'МенюСундука'
GS 'МенюСундука.ДобавитьПункт', 'Осмотреть сундук'
GS 'МенюСундука.ДобавитьПункт', 'Открыть сундук'
GS 'МенюСундука.Вызвать'

А в обработчике уже парсить имя несуществующей локации и на основе результатов что-то делать дальше.
Например, разработчик модуля ведёт список объектов, созданных данным модулем. В обработчике из имени несуществующей локации он вычленяет потенциальное имя объекта, ищет его в своём списке и (если находит) обрабатывает его должным образом, вызывая правильную функцию (т.е. всё тот же код, который приведён в примере 1).

Тут, конечно, возникают другие вопросы, например:

Поскольку каждый подобный модуль будет добавлять свой обработчик, то как прервать обработку получившейся цепочки после того, как "объект" опознан и обработан? Возвращать что-нибудь в Result? Например 0 — продолжать, не ноль — обработка завершена. И если в конце обработки платформа в Result имеет 0, то выводить "Локация не существует"…

Неактивен

0    0    #2
11.11.2015 10:41

void User (void)
Участник
Зарегистрирован: 11.11.2015
Сообщений: 1

Re: Обработка несуществующих локаций

да уж, было бы полезно.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru