netlib.narod.ru< Назад | Оглавление | Далее >

Управление ресурсами

Управление ресурсами играет одну из основных ролей в вашей игре. Чтобы добраться куда-нибудь или достигнуть чего-либо персонажи, возможно, будут нуждаться в помощи предметов, заклинаний и других объектов, сконструированных вами для игры.

В главе 11, «Определение и использование объектов», вы увидели, как разработать предметы вашей игры и поместить их в главный список предметов. теперь пришло время посмотреть, как вы можете обращаться с этими предметами.

Ресурсы также включают заклинания, которые ваш игровой персонаж может выучить по ходу игры. О заклинаниях вы больше прочитаете чуть дальше в этой главе, в разделе «Работа с магией и заклинаниями», а сейчас вот краткий обзор того, что ресурсы могут сделать для вас.

Использование предметов

Вы уже видели, как управлять предметами в вашей игре, используя систему управления имуществом персонажа. Если вы экспериментировали с программой CharICS, то заметили отсутствие функций для кнопок Equip и Use. Теперь пришло время понять, что случится, когда эти функциональные возможности будут помещены на свое место в том примере.

Персонаж должен отслеживать, какой броней, оружием и аксессуарами он экипирован. Поскольку эти предметы экипировки хранятся в структуре sItem, вы можете запросить связанное с ними значение модификатора (хранящееся как sItem::Value), используемое для изменения способностей персонажа.

Скажем, предмет 1 это меч. Этот меч определен как оружие и имеет значение модификатора 10. Если персонажу разрешено экипироваться оружием (это определяется через флаги класса), соответствующее значение модификатора прибавляется к значению способности атаковать персонажа. Чтобы отслеживать, какие предметы есть в экипировке, достаточно сохранить номер предмета в описании персонажа. Также, поскольку вы хотите визуально показать, какое оружие держит персонаж, вы можете загрузить сетку оружия для присоединения ее к персонажу.

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

Использование магии

Магические заклинания, также как и предметы, являются основополагающим ресурсом для выживания игрока. Магия помогает пользователю различными путями; усиление атаки, улучшение защиты и исцеление — типичные результаты произнесения магических заклинаний. Хотя заклинания не являются абсолютно необходимыми, будьте уверены — они действительно помогают.

Магические заклинания определяются точно так же, как предметы. Они имеют назначенные возможности. Одни заклинания меняют здоровье персонажей, другие заклинания могут вызывать изменение дополнительных статусов (таких, как отравление). Любой персонаж может использовать волшебство; он просто должен «знать» заклинание и иметь достаточно очков маны для его произнесения.

Чтобы персонаж знал заклинание, он должен изучить его, работая над своим уровнем опыта. Вы можете отслеживать выученные заклинания, используя битовые флаги. Можно использовать для хранения известных заклинаний 32-разрядную переменную, где каждый бит представляет конкретное заклинание. Если разряд в переменной установлен, заклинание выучено. Выученное заклинание обычно никогда не забывается.

Управление использованием заклинаний аналогично управлению предметами; отображается список известных персонажу заклинаний, где игрок может выбрать, какое заклинание произнести, когда и где. В этой книге нет никаких ограничений когда и где персонаж может произносить заклинания.

В разделе «Работа с магией и заклинаниями» вы больше узнаете о включении заклинаний в ваш проект.

Торговля и обмен

Ресурсы являются товаром, и игроки будут хотеть покупать и продавать свое имущество друг другу. Только определенные персонажи в игре открыты для обмена. Эти персонажи обычно называются «лавочники», поскольку имеют тенденцию появляться только на стоянках. Вы знаете процедуру — заходим в магазин, подходим к прилавку и начинаем сделку.

Есть отдельные типы магазинов для работы с каждым типом ресурсов — продуктовые лавки, оружейные магазины, лавки с доспехами и т.д. Вы можете использовать стандартный подход к магазинам во всех их проявлениях.

Система управления имуществом персонажа подходит не только для персонажа игрока; система управления имуществом (ICS), разработанная в главе 11, замечательно работает с магазинами и лавочниками. У персонажа лавочника есть присоединенная к нему уникальная ICS, которая определяет, какие предметы данный персонаж лавочника может продать. Не надо беспокоиться о покупке предметов лавочниками; все лавочники могут приобретать все предметы, отмеченные как продаваемые (естественно, занижая цену, определенную в описании предмета).

Покупка предметов у лавочника заключается в отображении списка предметов лавочника и их стоимости. Обычно запасы предметов на складе лавочника никогда не иссякают, независимо от того, сколько предметов купит игрок; но иногда вы будете хотеть, чтобы лавочник продавал только один экземпляр предмета.

Немного изменим ICS, но только в понятии термина количества предметов. Если у лавочника неограниченное количество какого-либо предмета, установим количество этого предмета равным 2 или более (обратитесь к главе 11, чтобы посмотреть, как установить количество предметов). Значение количества равное 1 означает, что лавочник может продать данный предмет только один раз. Изобретательно, не так ли?

Вы можете обнаружить, что работать с магазинами лучше вне кода персонажа, в основном коде игрового приложения. Посмотрите главу 16, чтобы увидеть, как я реализовал систему товарооборота.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz