Группировка выражений — это способ указать порядок расчёта, что может быть полезным, когда вы работаете с операторами, имеющими разную приоритетность.
Можно сгруппировать выражения с помощью ()
.
Например, выражения (y2 - y1)
и (x2 - x1)
, показанные ниже, рассчитываются до того, как выполняется операция деления.
(y2 - y1) / (x2 - x1)
Для примера возьмём расчёт взрыва во время игры, урон от которого зависит от расстояния до игрока, но при этом броня игрока может уменьшить общий полученный урон:
BaseDamage : float = 100
Armor : float = 15
# Масштаб зависит от квадрата расстояния между игроком и взрывом. 1,0 — это минимум
DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0))
# Чем дальше взрыв, тем меньше урона получает игрок
var ExplosionDamage : float = BaseDamage / DistanceScaling
# Уменьшение урона за счёт брони
set ExplosionDamage -= Armor
# Не допускайте отрицательных значений урона, чтобы взрывы не могли исцелять игроков с высокой броней.
set ExplosionDamage = Max(0.0, ExplosionDamage)
Используя группировку, можно переписать приведённый выше пример так:
BaseDamage : float = 100
Armor : float = 15
DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0))
ExplosionDamage : float = Max(0.0, (BaseDamage / DistanceScaling) - Armor)
Группируя выражения, можно также сделать код более удобочитаемым.