Программирование стратегических игр с 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.



Содержание раздела