08-03-2013, 12:10 AM
De rien
Je n'aurai pas fait hériter le membre (utilisateur humain) du personnage du jeu. En effet, pour moi, c'est plus logique de dire "le joueur humain, instance de 'membre', possède un personnage de classe virtuelle 'personnage', qui est une instance de 'Guerrier'".
En termes UML, ca se traduit par l'aggrégation je crois...
En termes de code, cela revient à
Je n'aurai pas fait hériter le membre (utilisateur humain) du personnage du jeu. En effet, pour moi, c'est plus logique de dire "le joueur humain, instance de 'membre', possède un personnage de classe virtuelle 'personnage', qui est une instance de 'Guerrier'".
En termes UML, ca se traduit par l'aggrégation je crois...
En termes de code, cela revient à
Code PHP :
<?php
abstract class Personnage //Classe non-instanciable, c'est à dire une classe qui sert "d'ensemble", de parent, à plusieurs classes
{
}
class Guerrier extends Personnage
{
// Code du guerrier
}
class Nain extends Personnage
{
// quelqu'un veut un chiantos?
}
class Mage extends Personnage
{
// c'est normal que le Nord soit à l'Est sur la carte de la magicienne?
}
//------------- séparé ---------
class membre // l'utilisateur enregistré, il n'extends rien du tout
{
private $personnage; // cet attribut recevra l'instance du personnage (Mage, Guerrier,...) du membre
public function setPersonnage(Personnage $p_personnage) // Cette méthode attache un personnage déjà instancié au membre
{
$this->personnage = $p_personnage; // $p_personnage est de type "Personnage", classe abstraite, donc c'est une instance d'une classe qui doit hériter de "Personnage"
}
}
Ainsi:
- Si tu veux changer de personnage, c'est possible facilement
- Si tu veux qu'un joueur ait plusieurs personnages, ca sera envisageable
- Les personnages ont tous une classe-mère ("Personnage") ce qui simplifie leur codage
Le membre est à instancier à l'inscription. Le personnage est à instancier dès que le membre a choisit son personnage. Cela peut se faire également à l'inscription ("entrez votre mail, votre pass, et choisissez un personnage") ou apres ("entrez votre mail, votre pass, et, plus tard quand vous en aurez besoin, vous créerez votre personnage; s'il ne vous plait pas, vous pourrez le supprimer et en créer un autre").