JeuWeb - Crée ton jeu par navigateur
Structures des tables "Joueur" et "Objet" - 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 : Structures des tables "Joueur" et "Objet" (/showthread.php?tid=4857)

Pages : 1 2


RE: Structures des tables "Joueur" et "Objet" - Plume - 01-06-2010

Pourquoi tu n'utiliserais pas plutôt une formule mathématique - complexe ou non - pour calculer le coût en fonction du niveau ?


RE: Structures des tables "Joueur" et "Objet" - Sephi-Chan - 01-06-2010

Concernant le niveau du bâtiment, pour Spherium j'ai fais le choix de créer une entrée pour chaque niveau des bâtiments dans ma table building_typeq (et les bâtiment d'une même familles sont regroupés par une colonne category). Du coup, si je dois faire évoluer le bâtiment, je change le building_type_id.

Quant au coût, s'il est calculé, tu peux simplement créer une méthode statique getBuildingCostsForLevel(level) à ton modèle Building. Elle renverra le coût pour le niveau donné (sous forme d'un nombre ou d'un tableau, s'il y a plusieurs ressources).

Et laisse tomber les explodes, ça pue. :p Et quitte à faire ça, un objet JSON sérialisé est plus intéressant.


Sephi-Chan


RE: Structures des tables "Joueur" et "Objet" - php_addict - 01-06-2010

salut

je ne suis pas certain d'avoir compris...pour tes objets si tu veux simplement les repertorier genre:

arme 1 : off=1000 magie=165 taille = 16
arme 2 : off=1040 magie=155 taille = 66
arme 3 : off=1050 magie=155 taille = 12
arme 4 : off=1600 magie=125 taille = 66

tu n'a besoin que d'un simple fichier:

arme[1]['off']=1000
arme[1]['magie']=165
arme[1]['taile']=12
etc..
etc...

si c'est pour savoir qui a quoi comme objet, il te faut une TABLE objets avec comme champs par exemple:

id (autoincremente)
type_id (type d'arme (l'index des variables de ton fichier)
joueur_id (l'id de ta table joueur)

donc en gros:

- toutes les valeurs qui ne changent pas --> dans un fichier
- toutes les données qui changent --> dans une base de donnée

mais je sais pas si ca t'aide car je ne suis pas certin d'avoir cerné ton probleme...


RE: Structures des tables "Joueur" et "Objet" - Colmea - 01-06-2010

Mais est-ce que ce n'est pas rajouter du calcul pour rien que, à chaque fois que je veux afficher le coût pour le prochain niveau, je doive aller chercher ma formule ?

Alors que si je crée un champ "coût", je n'ai jamais besoin d'appeler une méthode pour le calculer .
De plus, c'est bien ça l'embêtant, le coût ne correspond pas à une formulaire mathématique. Enfin si, mais une pour chaque bâtiment ! Je me vois mal créer 20 formules pour chacun de mes bâtiments Confused

php_addict > Je pensais faire ça pour les données statiques. Alors je ne sais pas quoi faire: mon "building-types" en bdd ou en fichier ? (sachant que ces infos ne changeront jamais)

Edit: Et Sephi-Chan, je vais essayer de pas trop dériver du sujet, mais sans explode comment tu gères tes conditions pour remplir une quête, par exemple ? (je suis sur le chan si tu as le temps ^^)


RE: Structures des tables "Joueur" et "Objet" - Sephi-Chan - 01-06-2010

C'est pour ça que je te proposais l'alternative de faire un building_type par niveau de bâtiment (caserne niveau 1, caserne niveau 2, etc.) : les coûts sont stockés de manière statique.

Quant à l'utilisation de fichiers, je te le déconseille. C'est mélanger les torchons et les serviettes pour ne rien gagner (mais perdre du temps de développement et du temps d'exécution : les développeurs de MySQL gèrent mieux les fichier que vous). Ce n'est pas parce que c'est statique que ce n'est pas un attribut d'un objet en base de données.


Sephi-Chan


RE: Structures des tables "Joueur" et "Objet" - Plume - 01-06-2010

En même temps, une formule par bâtiments, c'est prise de tête mais pourquoi pas ? Toutefois, je soutiens l'intérêt de la formule. Si elle(s) existe(nt) alors utilise la(les) Dans un modèle relationnel, aucune donnée calculable ne doit être stockée.


RE: Structures des tables "Joueur" et "Objet" - Colmea - 01-06-2010

Ok.
Merci à tous pour votre aide.
Et rien que pour _who: [Resolved] (h)


RE: Structures des tables "Joueur" et "Objet" - Plume - 01-06-2010

Merci ! Ca m'évitera de lire tout le sujet Big Grin Encore que maintenant ... ^


RE: Structures des tables "Joueur" et "Objet" - Ter Rowan - 01-06-2010

concernant équipement et objet (inventaire)....

je suis en train de me dire que je passerai probablement par un système un peu différent :


une table inventaire où il y a les objets et les armes/armures/vêtements

ET

une table équipement où il y a juste les armes/armures/ etc... (les trucs qui apportent des "bonus" quoi)

c'est probablement redondant (encore pas sûr, je ne sais pas ce que je mettrais dedans) mais ça simplifie grandement les traitements qu'on peut séparer les chargements des deux tables (je produis une arme, j'utilise un objet, je mesure l'encombrement => inventaire / j'utilise une arme, je reçois un coup, j'utilise un jetpack => équipement ), la seule fois où on utilisera les deux sera pour équiper/déséquiper (y compris vol) un objet (pour les contrôles voire des calculs)