(28-11-2010, 06:29 PM)Kihmé a écrit : L'uranium n'est pas un item, et au final l'argent non plus. Donc en fait on est en train de se mélanger. Je parle de quelque chose, toi d'une autre.
Ton uranium n'est pas un item (après ça va dépendre des contextes) mais tu n'as pas de table uranium. Tu as un champs uranium de type numérique dans ta table joueur.
Pour l'argent c'est pareil. Donc ce ne sont pas des items.
Les potions vont avoir une relation de type many to many entre le type de potion et le joueur donc pareil champs numérique dans la table issus de la relation. Donc ce ne sont pas des items.
Après faudrait voir son cahier des charges pour être sur.
je trouve tes "donc" très extrêmes
la multiplication des tables (exemple potion) n'est pas non plus pertinente
de même créer un champ pour chaque ressource de base(ex uranium) n'est pas pertinent, à moins de modifier le modèle à chaque création de nouvelle ressource (ce qui me semble très souvent une anomalie
tu peux très bien avoir une table avec
id perso / type d'item / quantité / indicateur (dans ton exemple usure)
du coup si tu as 10 potions ça donne
perso1 / potion / 10 / 100
on peut même imaginer qu'on ait 3 autres potions un peu "vieilles"
perso1 / potion / 3 / 60
de même si tu as une épée ébréchée et une autre toute neuve
perso1 / épée / 1 / 40
perso1 / épée / 1 / 100
et encore, si tu as 30 minerais d'uranium et 5 lingots d'uranium mal raffiné
perso1 / minerai uranium / 30 / 100
perso1 / lingot uranium / 5 / 60
je ne pense pas que ce système soit particulièrement anormal pour Merise (ouhouh le jeu de mot, les formes normales, houhou)
du coup il suffit d'une simple requête pour sortir l'inventaire, et avec un pattern factory tu génères les instances qui vont bien (et qui interprèteront chacun différemment la valeur de l'indicateur : l'épée fera moins de dégât, risquera de se casser, la potion fera moins d'effet, l'utilisation des lingots d'uranium fera de mauvais objets, etc...)