Тип атаки

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

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

Название подразделения
Легкий танк

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

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

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

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

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

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

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

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

Тип атаки
лазер

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

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

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

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

Название подразделения
легкий танк

Тип атаки
лазер

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

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

Название подразделения
средний танк

Тип атаки
лазер

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

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

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