22-05-2008, 09:51 AM
pour calculer ta droite, il faut utiliser les coordonnée du joueur qui tire (A) et celui qui va s'en prendre une (B)
dans ton repère (X,Y)
la droite est Y= aX + b ( tu peux l'écrire autrement)
Pour trouver les valeurs a et b, il faut utiliser cette règle :
a = (YB - YA) / (XB - XA)
et b = YB - a (XB)
Ensuite, tu cherches dans ta BDD les objets qui sont sur cette droite ET dont la coordonné x est comprise entre XA et XB
SELECT * FROM POSITION WHERE (position.x * a + b) = position.y AND position.x BETWEEN XA and YA
Ca devrait marcher normalement.
Cependant, je vois déjà plusieurs problème :
- La courbe va te renvoyer des valeurs flottante ... Il faut que tu rajoute une fonction moyenne
- Parfois ton obstacle occuper toute ta case.
- Parfois tu peux tirer à travers ton obstacle.
Bref, maintenant c'est toi qui gère.
kéké.
dans ton repère (X,Y)
la droite est Y= aX + b ( tu peux l'écrire autrement)
Pour trouver les valeurs a et b, il faut utiliser cette règle :
a = (YB - YA) / (XB - XA)
et b = YB - a (XB)
Ensuite, tu cherches dans ta BDD les objets qui sont sur cette droite ET dont la coordonné x est comprise entre XA et XB
SELECT * FROM POSITION WHERE (position.x * a + b) = position.y AND position.x BETWEEN XA and YA
Ca devrait marcher normalement.
Cependant, je vois déjà plusieurs problème :
- La courbe va te renvoyer des valeurs flottante ... Il faut que tu rajoute une fonction moyenne
- Parfois ton obstacle occuper toute ta case.
- Parfois tu peux tirer à travers ton obstacle.
Bref, maintenant c'est toi qui gère.
kéké.