O agrupamento de expressões* é uma maneira de especificar a ordem de avaliação, o que é útil quando você precisa trabalhar em torno da precedência de operadores.
É possível agrupar expressões usando ().
Por exemplo, as expressões (y2 - y1) e (x2 - x1) abaixo são avaliadas antes da divisão dos números.
(y2 - y1) / (x2 - x1)
Como exemplo, veja uma explosão no jogo que aumenta seus danos com base na distância do jogador, mas na qual a armadura do jogador pode reduzir os danos totais:
BaseDamage : float = 100
Armor : float = 15
# Escala por quadrado da distância entre o jogador e a explosão. 1.0 é o mínimo
DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0))
# Quanto mais longe a explosão, menores os danos ao jogador
var ExplosionDamage : float = BaseDamage / DistanceScaling
# Reduzir danos por armadura
set ExplosionDamage -= Armor
# Evite valores de dano negativos para que as explosões não curem jogadores com armaduras muito altas.
set ExplosionDamage = Max(0.0, ExplosionDamage)
Usando o agrupamento, você pode reescrever o exemplo acima como:
~~~(verse) BaseDamage : float = 100 Armor : float = 15 DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0)) ExplosionDamage : float = Max(0.0, (BaseDamage / DistanceScaling) - Armor) ~~~
O agrupamento de expressões também pode melhorar a legibilidade do código.