JeuWeb - Crée ton jeu par navigateur
Système d'objectifs à remplir pour les quêtes - 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 : Système d'objectifs à remplir pour les quêtes (/showthread.php?tid=4861)

Pages : 1 2 3


RE: Système d'objectifs à remplir pour les quêtes - Sephi-Chan - 08-06-2010

Non, pas du tout. Les moteurs gèrent très bien les NULL.
Concernant la quantité de types d'objectifs, réfléchis bien : penses-tu ajouter des types d'objectifs à tout bout de champs ?

Comme le dit Anthor, n'oublie pas ce que nous disait sur IRC hier à propos des jointures à propos de ton apprentissage. Wink


Sephi-Chan


RE: Système d'objectifs à remplir pour les quêtes - Shudrum - 08-06-2010

Truc con, j'ai appris énormément en travaillant sur la base de donnée d'Eve Online (si quelqu'un connait).

Jetez un coup d'oeil ici : http://abrown969.files.wordpress.com/2009/11/evedb-out.png

Et ne vous découragez pas ^^

Pleins de trucs sympa ici : http://wiki.eve-id.net/Main_Page


RE: Système d'objectifs à remplir pour les quêtes - Argorate - 08-06-2010

Justement Sephi, j'ai eut des cours cette année, avec un chapitre entier sur les "NULL" et je sais très bien se que je dis... Mais si vous voulez gérez les NULL c'est tout a fait possible, mais moi je préfère éviter de perdre du temps et des lignes de codes à faire ça.
(Je ne vois pas le rapport avec les jointures qui marche très bien :p)

PS: Anthor, le problème des NULL ne vient pas du fait que la requête soit bien ou mal écrite mais du comportement du moteur SQL face a des NULL qui peut donnée des résultats erroné...

EDIT:
Shudrum : Ton premier lien fait peur ^^


RE: Système d'objectifs à remplir pour les quêtes - Anthor - 08-06-2010

Citation :PS: Anthor, le problème des NULL ne vient pas du fait que la requête soit bien ou mal écrite mais du comportement du moteur SQL face a des NULL qui peut donnée des résultats erroné...

Si tu le dis ^^


RE: Système d'objectifs à remplir pour les quêtes - Shudrum - 08-06-2010

Mon lien qui fait peur est le plan de la bdd d'EveOnline, un Mmo monstrueux.

Ils font un bump public tous les 15 jours pour permettre le développement des API / intégrations aux sites persos.

L'idée, c'est que si les NULL peuvent donner des résultats érronés, bah je me demande comment ce jeu fait pour fonctionner vu la présence monstrueuse de NULL de partout. Par exemple leur table contenant la description des corporations fait 27 colonnes. Souvent, seulement 5 / 6 sont remplies, les autres à NULL.

J'en passe et des meilleures (m'en rappelle plus trop). Mais en gros : c'est stable, et bourré de NULL de partout.


RE: Système d'objectifs à remplir pour les quêtes - Sephi-Chan - 08-06-2010

(08-06-2010, 03:16 PM)Argorate a écrit : Justement Sephi, j'ai eut des cours cette année, avec un chapitre entier sur les "NULL" et je sais très bien se que je dis... Mais si vous voulez gérez les NULL c'est tout a fait possible, mais moi je préfère éviter de perdre du temps et des lignes de codes à faire ça.
(Je ne vois pas le rapport avec les jointures qui marche très bien :p)

PS: Anthor, le problème des NULL ne vient pas du fait que la requête soit bien ou mal écrite mais du comportement du moteur SQL face a des NULL qui peut donnée des résultats erroné...

EDIT:
Shudrum : Ton premier lien fait peur ^^


Mais là n'est même pas le débat. Dans cette solution, les colonnes contenant potentiellement des valeurs NULL ne sont pas des foreign keys, il n'y a absolument aucun danger : tu n'auras jamais de résultat incohérent puisque tu n'utiliseras pas ces colonnes dans des conditions.

Et il se trouve que moi aussi j'ai eu des cours de SQL (cette année et les précédentes) et je maintiens que les NULL sont très bien gérées par les SGBDR. Tu as des fonctions comme IFNULL, COALESCE, etc. Une requête bien écrite ne pose pas de problème : elle sait gérer les valeurs NULL.


De plus, avec la POO, tu aurais une classe Objective avec des accesseurs pour chaque colonne et qui renvoient des exceptions (puisque les colonnes utilses dépendent du type d'exception). Cette classe disposerait de sous-classes (genre KillMobsObjective, GetObjectObjective, etc) qui implémenteraient des accesseurs vers les colonnes dont elles ont besoin (la classe à utiliser est spécifiée dans la colonne type). Voilà un exemple de plus qui illustre parfaitement que la POO apporte fiabilité et sécurité.

Alors, qu'est-ce que tu en dis ? Smile


Sephi-Chan


RE: Système d'objectifs à remplir pour les quêtes - Argorate - 08-06-2010

J'en dis que je suis totalement d'accord avec toi et avec moi
Argorate a écrit :Mais si vous voulez gérez les NULL c'est tout a fait possible



RE: Système d'objectifs à remplir pour les quêtes - Sephi-Chan - 08-06-2010

La solution de ce sujet n'implique pas de gérer les NULL !!


Sephi-Chan


RE: Système d'objectifs à remplir pour les quêtes - Argorate - 08-06-2010

Tout dépend des requêtes, mais pour revenir sur le sujet oui, pourquoi garder qu'une seule table et rajouter des champs au lieu de faire ça avec une table qui lie un type d'objectif avec une quête?


RE: Système d'objectifs à remplir pour les quêtes - Sephi-Chan - 08-06-2010

Tu n'as jamais besoin de requêter selon ces colonnes potentiellement NULL : le type d'objectif est donné dans la colonne type.
Et si tu aplatis la table, tu ne peux plus faire de quête à plusieurs objectifs. Smile


Sephi-Chan