10-05-2010, 08:58 AM
(Modification du message : 10-05-2010, 09:00 AM par NicoMSEvent.)
donc, tu vas répliquer la fonction "se_camoufle" 5x
l'autre problème avec les actions spéciale sous forme de fonction nommée est qu'il faut connaitre le nom de la fonction pour l'appeler (a moins que tu aies un truc pour ça, alors partage le si tu veux bien, parce que j'ai des difficultés a concevoir comment tu y arriverais)
J'aurais pensé a un truc du genre :
Pourquoi pas avoir ces actions spéciales sous forme d'objet (lié dans un tableau contenu dans l'unité)
A ceci, il faudrait ajouter la possibilité de détecter si l'action a une cible qui détermine l'action (vers une troupe -> assassinat, vers un batiment -> démolition)
j'oubliais presque l'appel :
$mon_unité->ActionSpeciale($cible_click_droit);
l'autre problème avec les actions spéciale sous forme de fonction nommée est qu'il faut connaitre le nom de la fonction pour l'appeler (a moins que tu aies un truc pour ça, alors partage le si tu veux bien, parce que j'ai des difficultés a concevoir comment tu y arriverais)
J'aurais pensé a un truc du genre :
Pourquoi pas avoir ces actions spéciales sous forme d'objet (lié dans un tableau contenu dans l'unité)
A ceci, il faudrait ajouter la possibilité de détecter si l'action a une cible qui détermine l'action (vers une troupe -> assassinat, vers un batiment -> démolition)
class Unité{
private $action_speciale;
function __construct(){
$action_speciale=array();
switch($this->typeunité){
case 'eclaireur':
$this->action_speciale[]=new ActionCamoufle();
break;
case 'ninja':
$this->action_speciale[]=new ActionCamoufle();//placer les actions selon leurs priorités
$this->action_speciale[]=new ActionAssassinat();
break;
[...]
}
}
function ActionSpeciale($vers_objet){
//parcourir les actions spéciales avec un foreach par exemple
}
}
j'oubliais presque l'appel :
$mon_unité->ActionSpeciale($cible_click_droit);
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be