[SPIP Zone] plugins jeux avec des résultats

Patrice Vanneufville et moi même avons accompli un gros travail sur le plugin jeux

désormais, il est possible d'enregistrer les résultats d'un jeu ... de gérer c'est résultats

nous aurions besoins de traqueur de bug et de commentaires

le plugin en développement est ici http://files.spip.org/spip-zone/jeux-dev.zip

il est fonctionnel, mais peux contenir encore quelque bugs ... et peux nécéssité des améliorations (notamment sur la gestion de qui à le droit de faire quoi)

pour le moment, je n'ai pas devellopé de squelette pour l'espace public, mais on pourra en mettre...

en gros, disons que vous avez affair à une alpha

--
MaÔeul
http://maieul.ouvaton.org

Maïeul Rouquette a écrit :

Patrice Vanneufville et moi même avons accompli un gros travail sur le plugin jeux

désormais, il est possible d'enregistrer les résultats d'un jeu ... de gérer c'est résultats

nous aurions besoins de traqueur de bug et de commentaires

le plugin en développement est ici http://files.spip.org/spip-zone/jeux-dev.zip

il est fonctionnel, mais peux contenir encore quelque bugs ... et peux nécéssité des améliorations (notamment sur la gestion de qui à le droit de faire quoi)

pour le moment, je n'ai pas devellopé de squelette pour l'espace public, mais on pourra en mettre...

en gros, disons que vous avez affair à une alpha

Maïeul, on devrait peut-être brancher les jeux en question sur ce nouveau mécanisme. Pour l'instant seuls les scores des qcm et jeux à trous sont enregistrables...

Pat

Pat a écrit :

Maïeul, on devrait peut-être brancher les jeux en question sur ce nouveau mécanisme. Pour l'instant seuls les scores des qcm et jeux à trous sont enregistrables...

Pat

le problème, c'est que je ne sais pas comment, pour chaque jeux, procéder ...

par exemple, que retient ton comment score pour les mot croisés ?

à l'heure actuelle, l'enregistrement ce fait quand on ait afficher_score (mais on peux appeler directement la fonction

par ailleur, j'ai prévu un champs pour les résultats detaillés : il peux éventuellement servir

j'ai remarqué que dans la table spip_jeux , il y avait un champ titre et un champ nom ... c'est quoi la différence ?

--
MaÔeul
http://maieul.ouvaton.org

Maïeul Rouquette a écrit :

le problème, c'est que je ne sais pas comment, pour chaque jeux, procéder ...

par exemple, que retient ton comment score pour les mot croisés ?

Oui, c'est une question à résoudre. A voir ce qu'on enregistre de l'utilisateur du jeu, sous condition qu'il soit enregistré et logué !
  - soit des nouveaux champs dans la table 'jeux'
  - soit une nouvelle option de [config]
Avec ce séparateur, chaque jeu peut aussi avoir un comportement différent en fonction de l'utilisateur, du jeu et des souhaits de l'auteur du jeu.

Il faut pourvoir décider si on enregistre tout ou seulement le meilleur score, sans demander l'avis de l'utilisateur ou sous sa demande, uniquement les rédacteurs authentifiés ou tout le monde, par IP....
d'autre part, pour les mots-croisés, les rébus ou les devinettes, ça sert à rien d'enregistrer les scores si l'auteur permet d'afficher la solution, les indices ou de vérifier la grille...

Donc, soit on s'embête à manipuler la table et à mettre des input partout sur la page jeux_edit, soit on laisse les manettes au concepteur du jeu grâce au séparateur [config] où l'on pourrait inclure de nouvelles options...

à l'heure actuelle, l'enregistrement ce fait quand on ait afficher_score (mais on peux appeler directement la fonction

par ailleur, j'ai prévu un champs pour les résultats detaillés : il peux éventuellement servir

oui, enregistrer un historique de partie par exemple...

j'ai remarqué que dans la table spip_jeux , il y avait un champ titre et un champ nom ... c'est quoi la différence ?

oui, ce n'est pas très clair en effet...
le nom est en fait le type de jeu. Ce champ est rempli ou modifié automatiquement lors de l'ajout d'un nouveau jeu ou de la modification d'un jeu existant. Ce champ peut être renommé si tu veux en 'type' ou 'type_de_jeu'. D'ailleurs, J'ai utilisé 'Type' pour nommer la colonne correspondante dans 'jeux_tous'.
le champ 'titre', c'est le titre privé du jeu. C'est un champ obligatoire. Un nouveau jeu est affublé d'un titre par le concepteur, histoire de le repérer dans les listes de jeux. Ce titre n'apparaît nulle part en partie publique (sauf si évidemment on met #TITRE dans une boucle...)
Si tu veux on pourrait l'appeler 'titre_prive'
le titre public en revanche est facultatif. il n'est pas utilisé par tous les jeux. QCM l'utilise par exemple. le titre public d'un jeu est précisé par le séparateur [titre].

c'est peut-être un peu alambiqué.. je sais pas si je suis toujours clair :wink:

Pat

Pat a écrit :

Maïeul Rouquette a écrit :

le problème, c'est que je ne sais pas comment, pour chaque jeux, procéder ...

par exemple, que retient ton comment score pour les mot croisés ?

Oui, c'est une question à résoudre. A voir ce qu'on enregistre de l'utilisateur du jeu, sous condition qu'il soit enregistré et logué !
  - soit des nouveaux champs dans la table 'jeux'
  - soit une nouvelle option de [config]

a l'heure actuelle;, la fonction jeux_ajouter_resulat() tets systématiquement si l'auteur est logu, s'il est pas logué, il n'enregistre pas

Avec ce séparateur, chaque jeu peut aussi avoir un comportement différent en fonction de l'utilisateur, du jeu et des souhaits de l'auteur du jeu.

pourquoi pas un séparateur ... si tu sais le coder (c'est toi qui s'est occupé de cela)

Il faut pourvoir décider si on enregistre tout ou seulement le meilleur score, sans demander l'avis de l'utilisateur ou sous sa demande, uniquement les rédacteurs authentifiés ou tout le monde, par IP....

- les IP, à mon avis, ca sert à rien, il faut garder les utilisateurs authentifié seulement
- une option avec cfg permet d'écraser les réultats : ils ne garde alors que le derier résultat ... on peut coder également une option ne garder que le meilleur résultats
- l'avis utilisateur, je suis bof pour .. ou alors un champs de spip_auteur_etendue

d'autre part, pour les mots-croisés, les rébus ou les devinettes, ça sert à rien d'enregistrer les scores si l'auteur permet d'afficher la solution, les indices ou de vérifier la grille...

- faut régler une option ....

Donc, soit on s'embête à manipuler la table et à mettre des input partout sur la page jeux_edit, soit on laisse les manettes au concepteur du jeu grâce au séparateur [config] où l'on pourrait inclure de nouvelles options...

c'est peut-être le plus simple la deuxème options, je sais pas trop

à l'heure actuelle, l'enregistrement ce fait quand on ait afficher_score (mais on peux appeler directement la fonction

par ailleur, j'ai prévu un champs pour les résultats detaillés : il peux éventuellement servir

oui, enregistrer un historique de partie par exemple...

sachant que résultat detaillé un est champs de spip_jeux_resultats ... jevois pas trop bien ton historique des parties .... enfin bon, de toute façon, il suffit de coder

j'ai remarqué que dans la table spip_jeux , il y avait un champ titre et un champ nom ... c'est quoi la différence ?

oui, ce n'est pas très clair en effet...
le nom est en fait le type de jeu. Ce champ est rempli ou modifié automatiquement lors de l'ajout d'un nouveau jeu ou de la modification d'un jeu existant. Ce champ peut être renommé si tu veux en 'type' ou 'type_de_jeu'. D'ailleurs, J'ai utilisé 'Type' pour nommer la colonne correspondante dans 'jeux_tous'.
le champ 'titre', c'est le titre privé du jeu. C'est un champ obligatoire. Un nouveau jeu est affublé d'un titre par le concepteur, histoire de le repérer dans les listes de jeux. Ce titre n'apparaît nulle part en partie publique (sauf si évidemment on met #TITRE dans une boucle...)
Si tu veux on pourrait l'appeler 'titre_prive'
le titre public en revanche est facultatif. il n'est pas utilisé par tous les jeux. QCM l'utilise par exemple. le titre public d'un jeu est précisé par le séparateur [titre].

c'est peut-être un peu alambiqué.. je sais pas si je suis toujours clair :wink:

hum, il faudrait renommer, mais c'est casse pied

par ailleur, la pagination entre les jeux bug, àcause des jeux à la poubelle, j'avoue ne pas trop savoir comment faire

--
MaÔeul
http://maieul.ouvaton.org

Maïeul Rouquette a écrit :

Pat a écrit :

Maïeul Rouquette a écrit :

le problème, c'est que je ne sais pas comment, pour chaque jeux, procéder ...

par exemple, que retient ton comment score pour les mot croisés ?

Oui, c'est une question à résoudre. A voir ce qu'on enregistre de l'utilisateur du jeu, sous condition qu'il soit enregistré et logué !
  - soit des nouveaux champs dans la table 'jeux'
  - soit une nouvelle option de [config]

a l'heure actuelle;, la fonction jeux_ajouter_resulat() tets systématiquement si l'auteur est logu, s'il est pas logué, il n'enregistre pas

Avec ce séparateur, chaque jeu peut aussi avoir un comportement différent en fonction de l'utilisateur, du jeu et des souhaits de l'auteur du jeu.

pourquoi pas un séparateur ... si tu sais le coder (c'est toi qui s'est occupé de cela)

Ce séparateur existe déjà.
1. La fonction 'jeux_split_texte' (jeux_utils.php, ligne 62) est chargée de repérer le séparateur [config] et retient les options écrites par le concepteur.
2. Chaque jeu complète ensuite les valeurs de config omises et leur attribue une valeur par défaut à l'aide de la fonction 'jeux_config_init' : voir mots_croises, ligne 190.
3. La valeur de config est accessible lors du décodage du jeu par la fonction jeux_config('valeur'). Par exemple on peut modifier l'aspect d'une grille de mots croisés en codant la config suivante :
<jeux>
  [horizontal]
  Mes définitions...
  [vertical]
  Mes définitions...
  [solution]
  Ma solution...
  [config]
  compact=oui
</jeux>
J'avais prévu aussi la possibilité d'afficher les mots-croisés anglais, mais ce n'est pas encore codé. La config type=0 ou type=1 devait me servir pour ce type d'affichage.

Il faut pourvoir décider si on enregistre tout ou seulement le meilleur score, sans demander l'avis de l'utilisateur ou sous sa demande, uniquement les rédacteurs authentifiés ou tout le monde, par IP....

- les IP, à mon avis, ca sert à rien, il faut garder les utilisateurs authentifié seulement
- une option avec cfg permet d'écraser les réultats : ils ne garde alors que le derier résultat ... on peut coder également une option ne garder que le meilleur résultats
- l'avis utilisateur, je suis bof pour .. ou alors un champs de spip_auteur_etendue

d'autre part, pour les mots-croisés, les rébus ou les devinettes, ça sert à rien d'enregistrer les scores si l'auteur permet d'afficher la solution, les indices ou de vérifier la grille...

- faut régler une option ....

Surtout, il faut tester les options incompatibles.

Donc, soit on s'embête à manipuler la table et à mettre des input partout sur la page jeux_edit, soit on laisse les manettes au concepteur du jeu grâce au séparateur [config] où l'on pourrait inclure de nouvelles options...

c'est peut-être le plus simple la deuxème options, je sais pas trop

à l'heure actuelle, l'enregistrement ce fait quand on ait afficher_score (mais on peux appeler directement la fonction

par ailleur, j'ai prévu un champs pour les résultats detaillés : il peux éventuellement servir

oui, enregistrer un historique de partie par exemple...

sachant que résultat detaillé un est champs de spip_jeux_resultats ... jevois pas trop bien ton historique des parties .... enfin bon, de toute façon, il suffit de coder

ah oui, pardon j'avais mal regardé.

hum, il faudrait renommer, mais c'est casse pied

Bon... M'en occupe...

par ailleur, la pagination entre les jeux bug, àcause des jeux à la poubelle, j'avoue ne pas trop savoir comment faire

Ah oui, je me doutais que ça arriverait !
Une solution est du virtualiser la pagination.
Exemple : 5 jeux et le 3ème est à la poubelle :
1=>1, 2=>2, 3=>4, 4=>5

Pat

Maïeul Rouquette a écrit :

par ailleur, la pagination entre les jeux bug, àcause des jeux à la poubelle, j'avoue ne pas trop savoir comment faire

Je viens de mettre un jeu à la poubelle, mais il a disparu de la BD !
C'est un peu violent.. C'est ce que tu voulais ?

Je penchais plutôt vers un statut 'poubelle' réversible comme les autres objets SPIP, c'est à dire, insupprimables en dur, mais inaccessibles en public.

Il suffit d'ajouter le critere 'statut=publie' dans les modeles et le plugin 'Corbeille' pourrait supprimer les jeux de la 'poubelle' définitivement...

Pat

Pat a écrit :

Maïeul Rouquette a écrit :

par ailleur, la pagination entre les jeux bug, àcause des jeux à la poubelle, j'avoue ne pas trop savoir comment faire

Je viens de mettre un jeu à la poubelle, mais il a disparu de la BD !
C'est un peu violent.. C'est ce que tu voulais ?

Je penchais plutôt vers un statut 'poubelle' réversible comme les autres objets SPIP, c'est à dire, insupprimables en dur, mais inaccessibles en public.

Il suffit d'ajouter le critere 'statut=publie' dans les modeles et le plugin 'Corbeille' pourrait supprimer les jeux de la 'poubelle' définitivement...

Pat

en fait, la boucle ne selectionne plus que les jeux publiées en standards (à la manière de ARTICLES

l'idée était de s'inspirer du comportement standard de spip avec les articles à la poubelle (pas besoisn du plugin poubelle), mais à mon avis, ce n'est pas cela, je vais regarder

--
MaÔeul
http://maieul.ouvaton.org

Maïeul Rouquette a écrit :

l'idée était de s'inspirer du comportement standard de spip avec les articles à la poubelle (pas besoisn du plugin poubelle), mais à mon avis, ce n'est pas cela, je vais regarder

euh, justement, je ne crois pas qu'un article placé à la poubelle soit définitivement supprimé de la base... à moins que ça ait changé !

Pat

Pat a écrit :

Maïeul Rouquette a écrit :

l'idée était de s'inspirer du comportement standard de spip avec les articles à la poubelle (pas besoisn du plugin poubelle), mais à mon avis, ce n'est pas cela, je vais regarder

euh, justement, je ne crois pas qu'un article placé à la poubelle soit définitivement supprimé de la base... à moins que ça ait changé !

Pat

si, mais au bout de 24 heure, ca a toujour était le cas

--
MaÔeul
http://maieul.ouvaton.org

Pat a écrit :

Maïeul Rouquette a écrit :

l'idée était de s'inspirer du comportement standard de spip avec les articles à la poubelle (pas besoisn du plugin poubelle), mais à mon avis, ce n'est pas cela, je vais regarder

euh, justement, je ne crois pas qu'un article placé à la poubelle soit définitivement supprimé de la base... à moins que ça ait changé !

Pat

c'est le statut refusé qui ne supprime pas de la base

--
MaÔeul
http://maieul.ouvaton.org

Maïeul Rouquette a écrit :

Pat a écrit :

Maïeul Rouquette a écrit :

l'idée était de s'inspirer du comportement standard de spip avec les articles à la poubelle (pas besoisn du plugin poubelle), mais à mon avis, ce n'est pas cela, je vais regarder

euh, justement, je ne crois pas qu'un article placé à la poubelle soit définitivement supprimé de la base... à moins que ça ait changé !

Pat

si, mais au bout de 24 heure, ca a toujour était le cas

J'ai appris un truc :wink: merci !
Pat