Программирование стратегических игр с DirectX 9.0



              

Тип атаки


Вы должны не только учесть объем наносимого боевой единицей ущерба, но также и подумать о том, каким именно способом этот ущерб будет наноситься. Будет ли подразделение выпускать во врага ракеты, или оно будет стрелять пулями, воспользуется лазером, или каким-либо другим оружием?

Есть несколько различных методов назначения боевым подразделениям типов атаки. Можно либо назначать параметры каждому подразделению индивидуально, либо создать несколько глобальных наборов параметров, и назначать их различным подразделениям. Я предпочитаю использовать глобальные параметры, поскольку это упрощает назначение одного и того же типа атаки нескольким различным подразделениям. Многие игры на рынке также следуют этим путем, поскольку он более эффективен. Взгляните, например, на следующую таблицу:

Название подразделения

Легкий танк

Наносимый ущерб

100

Скорострельность

5

Косвенный ущерб от оружия

0

Изображение атаки

laser.bmp

Мощность брони

100

Скорость передвижения

50

В данном примере легкий танк может причинить вражескому подразделению до 100 единиц ущерба, стреляет пять раз в минуту, для изображения оружия используется файл laser.bmp, оборудован броней мощностью 100 единиц и за один ход может переместиться на 50 единиц. Что, если теперь вы захотите создать средний танк, оборудованный тем же вооружением, но имеющий броню мощьностью 150 единиц и способный передвинуться за один ход только на 40 единиц? Конечно, вы можете заново задать все значения параметров атаки. В результате ряд параметров будет дублироваться и вы получите настоящую головную боль, если решите внести глобальные изменения в параметры вооружений.

Гораздо лучше сгруппировать параметры нападения в типы атаки. Взгляните на следующий пример:

Тип атаки

лазер

Наносимый ущерб

100

Скорострельность

5

Косвенный ущерб от оружия

0

Изображение атаки

laser.bmp

 

Название подразделения

легкий танк

Тип атаки

лазер

Мощность брони

100

Скорость передвижения

50

 

Название подразделения

средний танк

Тип атаки

лазер

Мощность брони

150

Скорость передвижения

40

В данном примере я создаю тип атаки с названием «лазер». Затем я создаю два подразделения, которые используют один и тот же тип атаки, но отличаются параметрами защиты и скоростью передвижения. Эта ситуация показана на рис. 8.5.


Рис. 8.5. Два типа подразделений используют один тип атаки

Рис. 8.5. Два типа подразделений используют один тип атаки

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




Содержание  Назад  Вперед