Работа с инвентарем
Здравствуйте.
Пробую написать игру, но чем дальше пишу, тем больше усложняю себе процесс. Как правило, все решаю средствами “хэлпа” или форума, но в данный момент не могу найти простого и изящного решения одной задачи, а именно: мне надо сделать проверку пустой рюкзак или в нем есть вещи, затем если есть вещи, необходимо получить список вещей в рюкзаке, чтобы потом вещи вернуть обратно. Например, при переходе в одну локацию выдать сообщение (при наличии вещей), что вход с локацию с вещами запрещен, и предложить убрать вещи в сейф/сундук, а после возвращения вещи можно забрать обратно. Есть ли у кого-нибудь соображения по данной задаче?
! Проверяем, есть ли предметы
IF COUNTOBJ > 0:
GOTO 'Выгрузить вещи'
ELSE
GOTO 'Здание'
END
! Выгружаем вещи
i = 1
SAVED_OBJS_COUNT = COUNTOBJ
:loop
IF i <= SAVED_OBJS_COUNT:
$SAVED_OBJS[i] = $GETOBJ(i)
i = i + 1
JUMP 'loop'
END
KILLOBJ
! Возвращаем вещи
i = 1
:loop2
IF i <= SAVED_OBJS_COUNT:
ADDOBJ $SAVED_OBJS[i]
i = i + 1
JUMP 'loop2'
END
SAVED_OBJS_COUNT = 0
Видимо, это я так “хорошо” искал в “хэлпе”. Нашел все эти команды в “хэлпе”, разбираюсь. Ваше исполнение данной процедуры очень изящно. Спасибо Вам за помощь.
Полностью разобрался с написанным Вами алгоритмом, все понятно. Еще раз спасибо.