JeuWeb - Crée ton jeu par navigateur
Stoquer une liste de capacités - 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 : Stoquer une liste de capacités (/showthread.php?tid=759)



Stoquer une liste de capacités - Sephi-Chan - 04-02-2007

Salut à tous,

Dans mon jeu, les héros auront une multitude de capacités (environ une vingtaine mais ça peut évoluer), et il me faut donc les stocker dans la base de données.

Comment vous y prendriez-vous pour effectuer ce stockage ?

Je vous remercie d'avance,


Sephi-Chan


RE: Stoquer une liste de capacités - Maegia - 04-02-2007

Moi, j'ai une BDD joueurs_capacités qui va environ comme suit :

id, joueur, capa1, capa2, capa3, ...

Ensuite, la capa1 correspondant à la capacité ayant pour ID le chiffre 1, elle est par défaut à 0 si le joueur n'a pas la capacité, à 1 si elle est de niveau 1, à 2 si... etc. J'ai ensuite une autre table décrivant chacune des capacités, avec leur nom, leur description, etc.

Voilà. C'est peut-être pas la meilleur des méthodes, mais ça marche foutrement bien ! Wink


RE: Stoquer une liste de capacités - Sephi-Chan - 04-02-2007

Ok.

Pour tout te dire c'est LA solution que je ne veux pas appliquer. Ceci pour la simple raison que la méthode n'est pas du tout flexible, et surtout : Elle ne s'adapte pas d'elle même.

Si aucune bonne solution n'est proposée, je ferais peut-être une table ayant seulement 3 champs :
L'id du joueur qui la possède, l'id de l'attaque, le numéro du rang.

L'identifiant de l'attaque pointera sur un gros array PHP qui contiendra les effets des sorts, etc. grâce à des fonctions spécialisées.


Sephi-Chan


RE: Stoquer une liste de capacités - icien - 04-02-2007

moi j'ai un systeme dans le genre et j'ai 3 tables:
une table Héros (idhero,nom,...) avec idhero en clé
une table capacité (idcap,nom,effet,...) avec idcap en clé
et une table Hero_comp (idhero,idcap,rang) avec idheros et idcomp en clé.

Ca rejoint ce que tu veux faire, mais je ne vois pas d'autres solutions.


RE: Stoquer une liste de capacités - Raoull - 04-02-2007

Moi j'avais fait un dérivé du système de Maegia en créant une table "id, id_perso, id_capa, niveau_capa".

Ensuite le principe était que tous les joueurs ont au moins 5 dans toutes les capacités (tu peux partir de 0 aussi), et que si un joueur investi dans une capa, on enregistre dans la table la capacité et son niveau.

Donc au final, quand tu cherche le niveau en ... natation (par exemple) de tel perso, tu cherches dans la table par l'id_joueur et l'id_capa.
Si il n'y a aucun enregistrement trouvé, c'est que le joueur n'a pas investi, donc il est à 5 (ou 0) sinon tu trouve son niveau.


RE: Stoquer une liste de capacités - Sephi-Chan - 04-02-2007

Okay, je ne vais donc pas changer mon système de base, puisque c'est celui que vous décrivez (ou à peu de choses près).

Je vous remercie.


Sephi-Chan


RE: Stoquer une liste de capacités - joshua - 04-02-2007

moi je pars touours du principe qu'il vaut miuex plus de lignes que de colonnes.
donc si tu as id, id_joueur,id_compétence,valeur_competence
tu peux en ajouter par la suite.


RE: Stoquer une liste de capacités - Plume - 05-02-2007

C'est parce que ça coule de source Smile