Grupowanie wyrażeń to sposób na określenie kolejności oceny, co jest przydatne, jeśli chcesz obejść pierwszeństwo operatora.
Możesz grupować wyrażenia za pomocą ()
.
Na przykład wyrażenia (y2 - y1)
i (x2 - x1)
poniżej są oceniane przed dzieleniem liczb.
(y2 - y1) / (x2 - x1)
Dla przykładu weźmy wybuch w grze, w przypadku którego obrażenia są skalowane na podstawie odległości od gracza, ale zbroja, którą ma na sobie gracz, może ograniczyć całkowite obrażenia:
BaseDamage : float = 100
Armor : float = 15
# Skalowanie według kwadratu odległości między graczem a eksplozją. 1.0 to minimum
DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0))
# Im dalej następuje eksplozja, tym mniejsze obrażenia otrzymuje gracz
var ExplosionDamage : float = BaseDamage / DistanceScaling
# Zmniejszenie obrażeń zależnie od pancerza
set ExplosionDamage -= Armor
# Unikanie ujemnych wartości obrażeń, aby eksplozje nie mogły leczyć graczy o bardzo dużej wartości pancerza.
set ExplosionDamage = Max(0.0, ExplosionDamage)
Używając grupowania, możesz przepisać powyższy przykład jako:
BaseDamage : float = 100
Armor : float = 15
DistanceScaling : float = Max(1.0, Pow(PlayerDistance, 2.0))
ExplosionDamage : float = Max(0.0, (BaseDamage / DistanceScaling) - Armor)
Grupowanie wyrażeń może również poprawić czytelność kodu.