18-07-2007, 03:58 PM
(Modification du message : 18-07-2007, 04:06 PM par Mysterarts.)
EDIT : réponse un peu rapide, comme je l'explique plus bas ^^
Bonjour !
D'abord bravo pour la présentation du problème : C appréciable ^^
C'est vrai que ton problème, finalement, et assez courant... On peut imaginé le même problème dans un ogame-like, lors de l'espionnage d'une planète (du moins si j'ai bien tout compris ^^).
Dans ton cas, comment se matérialise le déplacement dans le BDD ?
Imaginons que tu est un table pour les déplacements (si ce n'est pas le cas, la solution est peut être la...) :
id | joueur | case_arrivé | date
Dans ce cas là, à l'arrivé d'un joueur sur une case, on va aller chercher dans cette table toutes les entrées avec comme case d'arrivé celle du joueur, puis faire une condition/calcul pour savoir si ce déplacement à abouti ! Si c'est le cas, on UPDATE la table "joueur" qui contient la position du joueur "vacance"...
Il ne reste plus qu'a faire un select de tout les joueurs se trouvant à cette case, ds la table "joueur" !
Y'a surement d'autre solution, c'est la première qui me passe par la tête, et elle permet de ne traiter que les cas utiles...
Je peux expliquer mieux si qqu le demande, hein ^^
Mysterarts
Bonjour !
D'abord bravo pour la présentation du problème : C appréciable ^^
C'est vrai que ton problème, finalement, et assez courant... On peut imaginé le même problème dans un ogame-like, lors de l'espionnage d'une planète (du moins si j'ai bien tout compris ^^).
Dans ton cas, comment se matérialise le déplacement dans le BDD ?
Imaginons que tu est un table pour les déplacements (si ce n'est pas le cas, la solution est peut être la...) :
id | joueur | case_arrivé | date
Dans ce cas là, à l'arrivé d'un joueur sur une case, on va aller chercher dans cette table toutes les entrées avec comme case d'arrivé celle du joueur, puis faire une condition/calcul pour savoir si ce déplacement à abouti ! Si c'est le cas, on UPDATE la table "joueur" qui contient la position du joueur "vacance"...
Il ne reste plus qu'a faire un select de tout les joueurs se trouvant à cette case, ds la table "joueur" !
Y'a surement d'autre solution, c'est la première qui me passe par la tête, et elle permet de ne traiter que les cas utiles...
Je peux expliquer mieux si qqu le demande, hein ^^
Mysterarts