JeuWeb - Crée ton jeu par navigateur
Coordonnée d'un joueur pour la carte - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Coordonnée d'un joueur pour la carte (/showthread.php?tid=1006)

Pages : 1 2 3


Coordonnée d'un joueur pour la carte - KoKoFouiN - 14-06-2007

Bonjour,

Voilà, depuis quelque temps je réfléchi à un truc simple mais je ne sais pas le mettre en oeuvre, un trou on va dire Wink

Alors je souhaite qu'à l'inscription, le joueur est automatiquement une coordonnée sur la carte, de forme : X:XX:X
Je sais quil faut utiliser la fonction rand() (je crois ^^) mais comment vérifié que le nombre obtenu n'est pas déjà pris ?
Faut-il faire un while ? un for ? ou autre ?

Merci d'avance,
Cordialement,
Kok.



RE: Coordonnée d'un joueur pour la carte - Loetheri - 14-06-2007

Pour un nombre aléatoire, utilise plutôt mt_rand. Il existe aussi des fonctions pour avoir un nombre aléatoire sous SQL.

Pour ma part, tu as la réponse.
Sinon quand tu as ton nombre, il te suffit de voir s'il y a quelque chose. Donc avec simplement une petite requête. Si c'est pris, tu dois refaire une recherche de coordonnées. Cependant, tu dois faire attention car ta page ne peut tourner plus de 30 secondes (c'est une variable configurable sur le serveur).

Une techique plus simple est de prévoir plusieurs cases d'insertion. Autrement dit, tes personnages lorsqu'ils apparaissent, ils apparaissent théoriquement là. Ce que je veux dire, c'est que sur le plateau, ils n'apparaîtront pas tant qu'ils n'ont pas décidé d'aller sur une des cases aux alentours. C'est un sytème pratique mais qui peut amener à voir un attroupement de joueur près des points d'apparition pour tuer les revenus/venus.


RE: Coordonnée d'un joueur pour la carte - joshua - 14-06-2007

un conseil: cela dépendra beaucoup de ta manière de stocker les données en base. Donc prévoit déja cette partie, et ensuite l'insertion coulera de source....


RE: Coordonnée d'un joueur pour la carte - Nessper - 14-06-2007

Bon j'imagine que tes coordonnées seront quelque part stockées dans ta base. Tu chopes toutes celles encore libres (parce que tu auras pris soin de mettre un champ dispo avec les coordonnées ^^) et tu fais un mt__rand() sur celles qu'il te reste. Une fois que tu as attribué ses coordonnées au nouveau joueur n'oublie de les mettre indispos.


RE: Coordonnée d'un joueur pour la carte - Loetheri - 14-06-2007

Nessper a écrit :Bon j'imagine que tes coordonnées seront quelque part stockées dans ta base. Tu chopes toutes celles encore libres (parce que tu auras pris soin de mettre un champ dispo avec les coordonnées ^^) et tu fais un mt__rand() sur celles qu'il te reste. Une fois que tu as attribué ses coordonnées au nouveau joueur n'oublie de les mettre indispos.

Tu veux garder continuellement toutes les entrées indisponibles ? -_-'


RE: Coordonnée d'un joueur pour la carte - Nessper - 14-06-2007

comment ça ?


RE: Coordonnée d'un joueur pour la carte - Loetheri - 14-06-2007

J'ai du mal comprendre ce que tu as écrit ...


RE: Coordonnée d'un joueur pour la carte - Mysterarts - 14-06-2007

Nan, je pense que tu as bien compris :
Nessper apparemment propose de garder toutes les coordonnées dans sa base, les libres comme les pas libres,
Donc Loetherie a demandé à Nessper si il était sûr que CT une bonne idée ^^
Voila ^^

Mysterarts, médiateur...
Si vous avez un problème de communication : 0 800 800 800 !

EDIT : pour ma part, je faisais ce que propose Nessper, car j'avais un nombre de place définis et inférieur à 500 sur la première version d'un ancien jeu. Depuis j'ai abandonné l'idée de conserver les places disponible...


RE: Coordonnée d'un joueur pour la carte - Nessper - 14-06-2007

tu as ta table villes (qui recense toutes les coordonnées que les joueurs peuvent se voir attribuer à l'inscription.). Elle contient un champs coordonnees et un champ disponibilite et un champ idville.
Quand un joueur s'inscrit tu fais :
Code PHP :
<?php 
$query
= "SELECT idville FROM villes WHERE disponibilite='oui' ORDER BY rand()";
$sql = mysql_query($req);

$row = mysql_fetch_row($req);

mysql_query ("UPDATE villes SET disponibilite='non' WHERE idville='".$row[0]."'");
mysql_query ("UPDATE joueurs SET position_ville='".$row[0]."' WHERE id='".$id_joueur."'");



RE: Coordonnée d'un joueur pour la carte - Mysterarts - 14-06-2007

Je faisais exactement ça sur mon ancien jeu...
Mon nouveau ne contient pas de coordonnées prédéfini, donc je ne fais plus ça perso...
Mais je pense que c'est pas mal de faire comme ça, ça simplifie bien les choses...
Genre si tu veux faire une carte des villes, t'as pas besoins de t'embêter : tu boucle juste sur la table...

Mysterarts, mais pourquoi faut que je me complique autant la tache sur mon nouveau jeu, moi ?