15-12-2010, 02:39 PM
(Modification du message : 16-12-2010, 10:38 AM par NicoMSEvent.)
@niahoo:
c'est justement ce que je fais. Mais à la place du "type_id", j'ai carrément une référence vers le type de tuile, de sorte que dans mon instance de tuile, lorsque je fais
echo $type_tuile;
ma tuile s'affiche bien (grace à la fonction __tosring() de l'objet "type de tuile" qui me retourne carrément le HTML que je souhaite afficher lorsque j'imprime ma tuile);
Les classes statiques avec les types de tuiles, je ne trouve pas que ce soit une bonne idée, je les préfère en DB étant donné que je pourrais en ajouter sans préavis (et puis, si je souhaite le mettre à jour "in-game", je ne voudrais remettre mes mains dans le code source)
(15-12-2010, 02:23 PM)niahoo a écrit : en php les objets sont toujours passés par référence, donc déjà tu peux t'économiser des signes '&' !Je ne suis pas certain de ce que tu avances. J'avais fais des tests lorsque j'avais pondu ça, et il me semblait que lorsque je passais un objet sans &, il me faisait des copies. Maintenant, afin d'éviter d'entrer à chaque fois &, il est possible de le déclarer dans le prototype de la fonction.
$type_tuile[1]->var=1;
$tuile1=new tuile($type_tuile[1]);
$tuile2=new tuile(&$type_tuile[1]);
//GetVar retourne la valeur de l'objet $type_tuile[1]->var
echo $tuile1->GetVar(); // 1
echo $tuile2->GetVar(); // 1
$type_tuile[1]->var=2;
$tuile3=new tuile($type_tuile[1]);
$tuile4=new tuile(&$type_tuile[1]);
echo $tuile1->GetVar(); // 1
echo $tuile2->GetVar(); // 2 puisque référence
echo $tuile3->GetVar(); // 2
echo $tuile4->GetVar(); // 2 (tuile 2 et 4 pointent vers le même objet en mémoire)
(15-12-2010, 02:23 PM)niahoo a écrit : """La question qui me vient à l'esprit : Aurais-je eu intéret à ne créer au vol que les type de tuile que j'utilise effectivement?"""
et bien si tu as 20 tuiles de type 'herbe' et que ce sont 20 objets identiques, hormis leurs coordonnées, ce serait plus simple de n'avoir qu'une instance pour chaque type.
Je dirais même plus, ce serait plus simple d'avoir des classes statiques pour chaque type et un simple tableau de tuiles avec 3 champs: type_id, x, y
c'est justement ce que je fais. Mais à la place du "type_id", j'ai carrément une référence vers le type de tuile, de sorte que dans mon instance de tuile, lorsque je fais
echo $type_tuile;
ma tuile s'affiche bien (grace à la fonction __tosring() de l'objet "type de tuile" qui me retourne carrément le HTML que je souhaite afficher lorsque j'imprime ma tuile);
Les classes statiques avec les types de tuiles, je ne trouve pas que ce soit une bonne idée, je les préfère en DB étant donné que je pourrais en ajouter sans préavis (et puis, si je souhaite le mettre à jour "in-game", je ne voudrais remettre mes mains dans le code source)
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