Меню сайта
Форма входа

Четверг, 09.01.2025, 07:02
Приветствую Вас Гость

Состояние предмета - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Состояние предмета
ДивиджейДата: Суббота, 12.09.2015, 19:55 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 22
Репутация: 2
Статус: Offline
Здравствуйте многоуважаемые программисты. У меня такой вопрос.
Есть база предметов в массиве, для каждого прописаны характеристики. Пример:

Predmets[1].Name:='Повязка для волос'; // Имя предмета
Predmets[1].Massa:=3; // Масса
Predmets[1].Sila:=5; // Сила
Predmets[1].Lovkost:=3; // Ловкость
Predmets[1].Sostojanie:=10; // Состояние предмета

Predmets[2].Name:='Накидка нищего';
Predmets[2].Massa:=5;
Predmets[2].Sila:=7;
Predmets[2].Lovkost:=5;
Predmets[2].Sostojanie:=20;

И так все остальные предметы.
Допустим когда я покупаю какой-то предмет в торговца он добавляется в рюкзак. С рюкзака я могу надеть на персонажа. Если после боя с противником я проигрываю, состояние (sostojanie) предмета который надет на персонаже уменьшается на -1. Так вот в чем мой вопрос.
Если я куплю 2 одинаковых предмета, то состояние будет уменьшаться в двоих предметов сразу даже если один из этих предметов будет находится в рюкзаке. Как можно сделать так, чтобы состояние уменьшалось только на том предмете что надет на персонаже, и при снимании его с персонажа оставалось тоже самое состояние.
Заранее спасибо)


Сообщение отредактировал Дивиджей - Суббота, 12.09.2015, 19:56
 
ArmageddetsДата: Среда, 16.09.2015, 07:42 | Сообщение # 2
Лейтенант
Группа: Администраторы
Сообщений: 68
Репутация: 4
Статус: Offline
Сделай проверку при проигрыше. Но для этого ты должен проверять только надетые предметы. Для этого нужно или в характеристиках предметов иметь
свойство (надет он или нет) или хранить отдельный массив надетых
предметов. А чтобы только у одного предмета менялось состояние нужно в
цикле когда меняешь состояние только первое встречание премета отмечать -
остальные игнорировать. Для этого вводится булевая переменная и при
первом встречании предмета ее значение изменяется, а в проверке
добавляем условие если значение не изменилось (на такое то истина или
ложь) тогда изменяем состояние, в противном случае ничего не делать.

Если я правильно понял, то именно так.
 
  • Страница 1 из 1
  • 1
Поиск:

Наш опрос
Где Вам удобнее оставлять коментарии и задавать вопроссы?
Всего ответов: 24
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика