par
moogli » 14 juil. 2012, 19:04
salut,
la c'est plutot de l'ordre de la gestion des objets et pas du code de la classe elle même.
par exemple si tu a un objet "baston" qui prend en paramètre deux objets personnages l'objet baston gère le combat et utilise les méthodesd de personnage pour infliger des degats ou redonner des PV à un des deux personnages.
par exemple
addPV(nbpv) : ajoute des pv => pv += nbpv
moinsPV (nbpv) : retire des PV (correspond au dégats fait par l'autre perso avec ta sauce à toi si tu veux avoir des multiplicateur de dégats; des résistances etc etc)
=> pv -= nbpv
après il faut une méthode pour connaitre les pv des personnages (getPV() par exemple.
A partir de la baston peu faire
$perso1->moinsPV(412);
if ($perso1->getPV() === 0){
echo 't\'es mort ;) );
$perso2->addPV($perso2->getPV() * 0.2); // ajoute 20%
}
et ceci dans une méthode à lui.
les objets telque personnage, n'ont à avoir de logique "métier", en java on te parlera de POJO, ce sont des objets qui représente quelque chose (suite à une modélisation).
par exemple
une voiture peux contenir une marque, un modèle, une vitesse et un nombre de kilomètre, avancer / reculer) mais c'est l'objet conducteur qui choisis dans quel sens va la voiture et a qu'elle vitesse, c'est pas la voiture qui choisis suite à l'utilisation de la méthode avance (enfin par encore p'tet un jour

)
@+