18-06-2009, 01:02 AM
Les solutions qui me viennent à l'esprit.
1) Les bonus peuvent être divers et variés, les prévoir tous est impossible.
Dans ces cas la, il te faut inventer un mini langage pour stocker les effets.
Exemple : 10 pv pendant 60 secondes et attaque +20 pendant 59 secondes
Dans la table tu as un champs text avec dedans :
"pv/+/10/60.att/+/20/59"
En php tu fais simplement du explode et tu obtiens tout tes bonus, ensuite tu parse ton tableau en appliquant le bonus correspondant.
2) Elle me semble pas bonne du tout mais la voici quand même
Dans une table effet, tu stockes tout les effets possible
ID 1 - +10 pv pendant 60 secondes
ID 2 - +20 attaque pendant 59 secondes
Ensuite dans la table des objets, tu met dans un champs text la liste des ID effet.
Exemple : "1,2,5"
Et un explode pour finir
On peut poussé plus loin et je le conseil de mon point vue, c'est de traiter les bonus en php directement, prenons la solution 1.
On récupère le mini langage, puis on génère un tableau d'objet avec pour chacun un effet ensuite on parse le tableau en appelant la méthode appliquer() .
Sa évite de se balader avec des effets partout, le deuxième avantage est que tout est centraliser dans la classe et les possibilités d'effets infini.
Si cette dernière méthode t'intéresse je peux l'expliquer plus en détails.
1) Les bonus peuvent être divers et variés, les prévoir tous est impossible.
Dans ces cas la, il te faut inventer un mini langage pour stocker les effets.
Exemple : 10 pv pendant 60 secondes et attaque +20 pendant 59 secondes
Dans la table tu as un champs text avec dedans :
"pv/+/10/60.att/+/20/59"
En php tu fais simplement du explode et tu obtiens tout tes bonus, ensuite tu parse ton tableau en appliquant le bonus correspondant.
2) Elle me semble pas bonne du tout mais la voici quand même
Dans une table effet, tu stockes tout les effets possible
ID 1 - +10 pv pendant 60 secondes
ID 2 - +20 attaque pendant 59 secondes
Ensuite dans la table des objets, tu met dans un champs text la liste des ID effet.
Exemple : "1,2,5"
Et un explode pour finir
On peut poussé plus loin et je le conseil de mon point vue, c'est de traiter les bonus en php directement, prenons la solution 1.
On récupère le mini langage, puis on génère un tableau d'objet avec pour chacun un effet ensuite on parse le tableau en appelant la méthode appliquer() .
Sa évite de se balader avec des effets partout, le deuxième avantage est que tout est centraliser dans la classe et les possibilités d'effets infini.
Si cette dernière méthode t'intéresse je peux l'expliquer plus en détails.