Salut !
Pour la puissance tout se passe dans Cue.lua.
Dans la fonction update il y a un automate à 4 états : IDLE, TARGET, CHARGE et SHOT. L'état IDLE est l'état de base ou rien de particulier ne se passe. Dès qu'une boule est sélectionnée, on passe à l'état TARGET qui nous permet d'afficher la queue de billard et les informations de visée (voir la fonction draw). Puis dès qu'un clic gauche de la souris survient on passe à l'état CHARGE. Cet état augmente en permanence (en utilisant le dt) la vitesse de la boule jusqu'à un maximum de 1000 (déterminé par tâtonnement).
else
if self.speed:getNorm() < 1000 then
self.speed:multiply(1 + 2 * dt)
end
end
Dès que le clic droit est relâché on passe à l'état SHOT dans lequel la vitesse est appliquée à la boule.
Dès qu'un clic gauche survient on revient à l'état IDLE sans appliquer la vitesse.
Voilà ! J'espère que ça t'aidera :) N’hésite surtout pas à me poser d'autres questions si je n'ai pas répondu correctement ou si d'autres points te semblent obscurs !