JeuWeb - Crée ton jeu par navigateur
[Ruby] Mes premières classes, recherche de défaut - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Ruby] Mes premières classes, recherche de défaut (/showthread.php?tid=5674)

Pages : 1 2


RE: [Ruby] Mes premières classes, recherche de défaut - Sephi-Chan - 05-09-2011

L'idée, c'est d'avoir des attributs classiques dans ton modèle Player, par exemple position_x et position_y.
Ensuite, tu annonces au modèle qu'il dispose d'un attribut composé nommé location et qui utilise la classe Location (c'est juste un exemple). Tu expliques ensuite à ActiveRecord comment map ces attributs grâce à la doc et magie : tu peux faire @person.location.x ou @person.location.persons_around, etc.

Ça n'utilise pas du tout les types spécifiques à PostgreSQL, mais ça permet par contre d'avoir les méthodes que tu veux dans ta classe Location.

Sinon il faut passer par des adapters, mais qui te rendent plus dépendant à ta base de données. À toi de choisir.


RE: [Ruby] Mes premières classes, recherche de défaut - Maz - 05-09-2011

(05-09-2011, 04:39 PM)Sephi-Chan a écrit : L'idée, c'est d'avoir des attributs classiques dans ton modèle Player, par exemple position_x et position_y.
Ensuite, tu annonces au modèle qu'il dispose d'un attribut composé nommé location et qui utilise la classe Location (c'est juste un exemple). Tu expliques ensuite à ActiveRecord comment map ces attributs grâce à la doc et magie : tu peux faire @person.location.x ou @person.location.persons_around, etc.

Ça n'utilise pas du tout les types spécifiques à PostgreSQL, mais ça permet par contre d'avoir les méthodes que tu veux dans ta classe Location.

Sinon il faut passer par des adapters, mais qui te rendent plus dépendant à ta base de données. À toi de choisir.

Je penses que j'utiliserais plutôt les adaptaters (la BDD permet de récupérer aussi distinctement les x et y d'un point (SELECT monpoint[0] as x, monpoint[1] as y FROM matable), tout en gardant les fonctions propres à ce type. Merci en tous les cas.