RU

Работа с инвентарем

Rioxel #506 17.04.2012 12:33 2 comments 8399 views

Здравствуйте.
Пробую написать игру, но чем дальше пишу, тем больше усложняю себе процесс. Как правило, все решаю средствами “хэлпа” или форума, но в данный момент не могу найти простого и изящного решения одной задачи, а именно: мне надо сделать проверку пустой рюкзак или в нем есть вещи, затем если есть вещи, необходимо получить список вещей в рюкзаке, чтобы потом вещи вернуть обратно. Например, при переходе в одну локацию выдать сообщение (при наличии вещей), что вход с локацию с вещами запрещен, и предложить убрать вещи в сейф/сундук, а после возвращения вещи можно забрать обратно. Есть ли у кого-нибудь соображения по данной задаче?

! Проверяем, есть ли предметы
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

Видимо, это я так “хорошо” искал в “хэлпе”. Нашел все эти команды в “хэлпе”, разбираюсь. Ваше исполнение данной процедуры очень изящно. Спасибо Вам за помощь.
Полностью разобрался с написанным Вами алгоритмом, все понятно. Еще раз спасибо.

Edited at 17.04.2012 12:55 (13 years ago)

Log in or Register to post comments.