JeuWeb - Crée ton jeu par navigateur
Carte se dévoilant au fur et à mesure ? - 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 : Carte se dévoilant au fur et à mesure ? (/showthread.php?tid=979)



Carte se dévoilant au fur et à mesure ? - LeCorbeau - 26-03-2007

Bonjour à tous
Découvrant ce forum suite à des recherches concernant mon probleme (qui n'en est pas vraiment un) , je poste ici la chose

Je désire avoir une map qui se dévoile au fur et à mesure de la progression du joueur sur les cases qui composent cette carte

En gros un nouveau joueur aurait une carte "noire" sauf la case sur laquelle il entre en jeu

Ma carte est enregistrée dans la bdd sous le format "Id, X, Y, Img"

Auriez vous une idée sur la méthode à utiliser ?

Merci d'avance


RE: Carte se dévoilant au fur et à mesure ? - gtsoul - 26-03-2007

Mettons que ta carte fasse 4x4, et que l'image soit un tableau de 16 cases dont les images sont nommées 11.jpg, 12.jpg ... 32.jpg, 33.jpg, ... 44.jpg
Tu te crées une table
carte_visitee : id_perso(int) | x_carte(int) | y_carte(int)

A chaque changement de lieu tu updates la table carte visitee, et si il n'existe pas d'entrée pour la carte courante, tu en crée un.

Puis tu fais un select x_carte, y_carte from carte_visitee where id_perso = $id_joueur order by x_case, y_case

double itération sur le recordset,
si la lign existe, tu met l'image associée, sinon une image par défaut (noir ?)


RE: Carte se dévoilant au fur et à mesure ? - LeCorbeau - 26-03-2007

En effet ç'est la méthode qui parait la plus simple
Ma carte serait en 9x9 , 81 cases

Ca risque par contre de faire assez lourd selon le nombre de joueurs

Si je prends le truc à l'envers:
Un joueur créé son compte , j'enregistre alors les 81 cases "noires" attachées à l'Id du joueur dans la table carte_visitée

Suite à sa progression , j'efface les lignes correspondantes aux coordonnées qu'il découvre , pour au final ne plus avoir de données concernant ce joueur dans a table carte_visitée

Ne serait-ce pas mieux ?

EDIT : Hum non en faite j'avais mal lu ^^ ,tellement occupé à chercher ma méthode que j'interprete mal celle des autres :respect:

Merci à toi


RE: Carte se dévoilant au fur et à mesure ? - gtsoul - 27-03-2007

déjà un postulat de base, pour mysql un petite table est une table avec moins de 100.000 entrées si elle est correctement indexée. Même avec plusieurs milliers de joueurs, tu restes dans ce cas-là.
Il faut voir si sur le long terme, la majorité des joueurs aura visité 50% de la map ou moins, auquel cas tu appliqueras la méthode, je stocke l'inconnu ou je stocke le découvert.
Sachant que beaucoup de personnes vont s'inscrire à ton jeu sans le finir, je pense qu'il vaut mieux stocker ce qui a déjà été découvert.