Tu codes la détection de portée d'une tourelle de défense placée sur la carte. Pour savoir si elle doit ouvrir le feu sur le joueur, il faut comparer la distance tourelle-joueur à son rayon de détection — mais calculer une vraie distance demande une racine carrée, une opération coûteuse à répéter à chaque frame pour chaque tourelle. Le patron classique en dev jeu vidéo : comparer les distances au carré, ce qui donne le même résultat de comparaison sans jamais calculer de racine.
Le starter te donne un struct point avec deux champs X et Y de type float, qui représente une position sur la carte. Écris une fonction SquaredDistance qui prend quatre float (Ax, Ay, Bx, By — les coordonnées de la tourelle et du joueur), construit deux instances de point, puis renvoie la distance au carré entre elles : (Bx - Ax)² + (By - Ay)².
Exemple
SquaredDistance(0.0, 0.0, 3.0, 4.0) renvoie 25.0 (3² + 4² = 9 + 16 = 25 — c'est le carré de la distance 5, le fameux triangle 3-4-5).
Syntaxe utile : on construit une instance avec point{X := Ax, Y := Ay}, et on lit un champ avec MonPoint.X.