Forum Heroes' Chronicles
http://forum.heroeschronicles.nainwak.org/phpbb3/

Formule Php pour la distance
http://forum.heroeschronicles.nainwak.org/phpbb3/viewtopic.php?f=5&t=21646
Page 1 sur 1

Auteur:  Florpy [ Dim 11 Oct, 2009 15:50 ]
Sujet du message:  Formule Php pour la distance

Bonjour !

J'aurais voulu savoir qu'elle était la formule php qui permet de connaitre la distance entre nous et une autre personne sur la carte.

Merci

Auteur:  Little-Boss [ Dim 11 Oct, 2009 16:00 ]
Sujet du message: 

Position du joueur x :
$xabs = abscisse x
$xord = ordonnée x

idem y

donc genre ... abs pour abscisse ou absolu.

max(abs($xabs - yabs),abs($xord - $yord)).

ou ...

C'est marrant ta question arrive pile 3 jours après que je l'ai fait.

Auteur:  Florpy [ Dim 11 Oct, 2009 16:27 ]
Sujet du message: 

Parfait ! Merci beaucoup

Auteur:  Florpy [ Lun 11 Jan, 2010 11:32 ]
Sujet du message: 

Et comment réorganiser les données renvoyées par la requête selon ce calcul ?

Auteur:  Little-Boss [ Lun 11 Jan, 2010 12:28 ]
Sujet du message: 

*3 mois tout pile plus tard*

Soit plus précis ? Je comprends pas la question...

Auteur:  Florpy [ Ven 15 Jan, 2010 12:58 ]
Sujet du message: 

Et bien, j'ai une requête MySQL qui me renvoi la position (X et Y) des joueurs qui sont dans le champ de vision de notre personne.

Dans la boucle de cette requête je fais le calcul de distance. Mais il est trop tard pour réorganiser les données selon la distance. Donc comment faire ?


C'est assez compliqué a expliquer. Si tu n'as pas compris je te montre un bout de code

Auteur:  chatissimus [ Ven 15 Jan, 2010 13:55 ]
Sujet du message: 

il faut faire faire le calcul lors de la requête, avant de traiter le recordset

bien sur cela dépend du moteur de DB utilisé.


exemple si on considère une personne en 48-50 (X-Y) et sa position par rapport aux personnes des 4 cases adjacentes:

Code:
SELECT 
    if( abs( 48 - Pos_X ) > abs( 50 - Pos_X ) , abs( 48 - Pos_X ) , abs( 50 - Pos_X ) ) AS distance
FROM
    `heroes`
WHERE 1=1
    AND pos_X >= 48 -4
    AND pos_X <= 48 +4
    AND pos_Y >= 50 -4
    AND pos_Y <= 50 +4
ORDER BY
    distance ASC




//
pour ce genre de question il vaut mieux passer sur Forum de l'association Nainwak ;-)

Auteur:  Florpy [ Ven 15 Jan, 2010 19:57 ]
Sujet du message: 

Parfait ! Merci beaucoup chatissimus.

D'accord pour le forum, je ne savais pas :wink:

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/