07-01-2008, 09:37 PM
Citation :Si les joueurs ont les mêmes caractéristiques que les monstres, cette table peut servir à décrire des altérations d'état pour les deux.
oui, les joueur et les monstres on les même caractéristique, en fait un monstre c'est un joueur (sauf pour le calcule des PV).
Citation :Ensuite, ta table Monstres. Alors là, si tu veux que chaque monstre soit identique (d'un point de vue caractéristiques et compétences), tu peux créer des gabarits de monstres et les instancier dans une autre table. Mais à la limite on pourra voir ça plus tard, pour ne pas tout compliquer d'un coup. 2
Je n'avait jamais penser a stocker tout simplement le nombre de PV_max :respect:. C'est vrai que rien qu'avec sa, on économise une requête :good:
Les "gabarit" existe déjà, c'est la table liste monstre, par contre je ne sais pas ce que veux dire instancier :heuuu:. Les monstres sont crée pour le moment en 2 requêtes: Une qui choisi au hasard un monstre sur la table listemonstre (avec ORDER BY rand()) et une autre qui fait un INSERT dans la table monstre.
Par contre un truc que je comprend pas. Le nombre d'état que peu subir un joueur/monstre est illimité (enfin en théorie, en pratique c'est différent) dès lors tu utilise: Id : TINYINT (UNSIGNED) et puis tu me dis:
Citation :La valeur d'un TINYINT vaut entre -127 et 127. Et vaut entre 0 et 255 si on lui donne l'attribut UNSIGNED.
Cela ne va t'il pas limité le nombre d'état possible dans la table ? (mes champ id sont en auto_increment clé primaire)
Citation :Ensuite, grâce aux jointures, tout devient plus simple (et c'est pas marketting !).
(J'édite au fur et à mesure, sauf si l'explication de Anthor t'as suffit. 2)
C'est la que j'ai le plus de mal, je me rend bien compte que a quel point les jointures doivent économisé des ressources, seulement j'ai beau lire la doc, et les tuto, quand je veux appliqué le principe sur 2 tables ben sa marche jamais comme prévu :pleure2:.
Code :
SELECT user.id, bouclier.nom AS bouclier_nom
FROM users AS user
INNER JOIN boucliers AS bouclier
ON bouclier.id = user.bouclier
WHERE users.id = identifiant_utilisateur
Bon je vais détaillé ce que je sais et ce que je sais pas.
Code :
SELECT user.id,
La on séléctionne l'ID de la table user
Code :
, bouclier.nom AS bouclier_nom
Si je me souviens bien AS sert a "renommer" le champs. Quel est l'intérêt d'un telle pratique ? :heuuu:
Code :
FROM users AS user
Même question, pourquoi renommé la table ?
Code :
INNER JOIN boucliers AS bouclier
ON bouclier.id = user.bouclier
j'ai pas de table boucliers mais une table objet m'enfin, je suppose qu'il faudrais juste renommer ?
Phenix