Nouvelle version 2.3 de la bibliothèque francophone pour I6

exact, je ne vois pas trop ce qui pourrait déroger à cela…
Mais d’un autre côté, c’est indiqué « noun », aussi peut-être que l’on peut utiliser cela comme « pousser le meuble contre la porte », et interpecter cela avec pushdir ? On peut le laisser, cela ne dérange pas, éventuellement faire un test.
[EDIT : je viens de tester, la remarque est pertinente, car on peut en effet utiliser cela ainsi, pousser un objet contre un autre. J’ai inclus cela dans l’intro ifiction, mais je n’arrive pas à commiter pour le moment]

Par contre pour « frapper », cela peut être nécessaire : « frapper contre la porte / contre le volet » par exemple.

Oui tout à fait d’accord pour les autres verbes utilisant la préposition ‹ contre ›.

J’ai peut-être dit une bêtise pour PushDir, on dirait qu’il n’y a pas de contrainte sur le second objet. Dans ce cas, ‹ pousser contre › est valable.

J’ai relu le DM4 (inform-fiction.org/manual/html/s15.html) et testé : si on fait un objet qui est déplaçable de lieu en lieu (auquel cas il faut faire appel à la routine AllowPushDir(), voir l’exemple du DM4), alors il est vérifié que la destination est bien une direction. Pousser la balle au nord fonctionnera, pousser la balle contre le frigo renverra « Ce n’est pas une direction ». Si on accepte cette modification cela aura donc plusieurs conséquences (pas gravissimes, mais suffisantes pour que je sois pas entièrement pour, même si je ne sais pas encore non plus si je suis contre) :

  • en standard un objet ne peut pas être poussé dans une direction ET poussé contre un objet. C’est l’un ou l’autre, au choix de l’auteur (selon qu’il fait appel à AllowPushDir ou non). Ou alors c’est à l’auteur de tester d’abord dans la routine before si second est une direction.
  • si dans un jeu on a à la fois un objet qui peut être poussé dans une direction et un qui doit être poussé contre un objet, ce ne sera pas clair pour le joueur : dans un cas on lui dit « Ce n’est pas une direction » quand il veut pousser un objet contre un autre, dans l’autre cas c’est précisément l’action qui est attendue de lui. Le problème se pose aussi d’un jeu à l’autre, si l’un retient une manière de faire et l’autre une autre. Au sein d’un même jeu, ce sera à l’auteur de garder une cohérence.

Je suis d’avis mitigé, mais tout de même plutôt contre son ajout en standard dans la lib, sachant qu’il reste possible simplement de redéfinir le verbe pour l’auteur qui en a besoin. Cependant, ce n’est pas un avis définitif, notamment parce qu’il semble que l’action ait été prévue pour accepter n’importe quel noun, au départ.

En effet ça ne peut pas marcher (et j’ai testé, ça ne marche pas) car ces constantes ne doivent contenir qu’un mot. On pourrait mettre ‹ maispas › et supprimer l’espace entre les deux dans LanguageToInformese, mais n’y a-t-il pas des cas où cela risque de poser problème ?

Je ne crois pas que P = précédent et Q = retour soient l’un au dessus de l’autre dans les menus, il me semble que l’un est à gauche et l’autre à droite. Si quelqu’un veut tester, mais on avait déjà fait en sorte que ça rende pas trop mal.

C’est possible, mais n’en étant pas sûr, je préfère qu’on n’y touche pas à moins d’avoir la preuve que cela cause un bug.

Peux-tu être plus explicite ?

Là il s’agit d’une question de goûts, moi les choses me semblent très bien comme elles sont, tant qu’au sein de chaque verbe les « -> » sont alignés (avec des espaces uniquement car sinon on a des mélanges tabulations/espaces qui dépendent de l’éditeur utilisé et cassent la mise en forme.
Pour le point virgule en début de ligne, ça se discute. Le plus important c’est de garder la même convention pour tous les verbes. En l’occurrence, on a déjà des points virgule en fin de la dernière ligne de grammaire, et on ne modifie pas assez souvent les grammaires pour que l’argument du « plus facile à modifier » soit réellement important. De toutes façons en cas d’erreur ça ne compile pas et on est censés vérifier que ça compile avant tout commit.

Bizarre, en effet, je ne sais pas pourquoi il n’a pas été repris en français, il vaudra regarder ça car cela peut toucher la grammaire de plusieurs verbes, voire même toucher la modification récente faite sur « se lever ».

Si, ils sont bien l’un au-dessus de l’autre – en tout cas, ils le sont dans Ma princesse adorée. Mais s’ils sont alignés à droite de l’écran, et non avec le Q sous le P, c’est tout bonnement parce que c’est comme ça dans la version originale en anglais ! (Cf. les menus d’aide de beaucoup de jeux Inform en anglais – au hasard, Lost Pig, par exemple.) La seule toute petite différence, c’est que, dans la version anglaise, ces lignes ne sont pas complètement collées à droite de l’écran (il y a un espace).

Quant à savoir si c’est plus joli que ça soit aligné à droite ou aligné d’après les lettres P et Q… question de goût, je suppose. Moi, ça ne me paraît pas si mal comme ça, mais je ne m’opposerai pas à un changement si la plupart d’entre vous le jugent nécessaire !

Il me semble que :

Verb 'nouer' 'attacher' 'fixer' 'connecter' 'brancher' * noun -> Tie * noun '->'/'à'/'a'/'au'/'aux'/'avec'/'sur' noun -> Tie * TexteComprenantEt -> VagueTie; [ TexteComprenantEt mot ok; ok = false; do { mot = NextWordStopped(); if (mot == 'et') ok = true; } until (mot == -1); if (ok) return GPR_PREPOSITION; else return GPR_FAIL; ]; [VagueTieSub; L__M(##VagueTie, 1, 0); ]; VagueTie: "[Reformulez : ", (address) verb_word, " ... avec ...]"; peut être remplacer par :

[ParserError pe; if (pe == MULTI_PE && action_to_be == ##Tie) <<Tie noun second>>; rfalse;]; En ajoutant au verbe la grammaire * noun noun -> TieReste à tester de manière un peu plus poussive. Il semble que Parsererror soit une bonne entrée pour répondre à de multiples problèmes.

Dans rats.z8 ‹ P › et sous ‹ Q › et ils ne sont pas alignés verticalement.

j’ai énuméré quelques verbes sans vraiment y réfléchir, je trouvais simplement que la préposition ‹ contre ›, dans certains cas, pouvait être intéressante.

Cependant je dois réellement faire un effort pour passer outre la première mauvaise impression que j’ai quand j’ouvre French.h et FrenchG.h.

J’ai passé l’âge des niaiseries de cours de récréation.
je m’intéresse à la Fiction Interactive et à Inform6 en particulier. C’est tout. Je ne propose pas mes conseils, mes solutions à longueur de Forum. Je ne me suis pas ré approprié Inform6.
Inform6 est une merveille de rigueur, de lisibilité dans le code comme dans la documentation.
French.h et FrenchG.h sont des torchons. C’est la honte.
J’ai passé l’âge.

je ne connaissais pas bien AllowPushDir(), en fait si, je l’avais utilisé dans un jeu mais je l’avais oublié :slight_smile:

Pour le coup de « contre » ajouté ou pas avec « pousser », cela dérange pas de l’ajouter, car la confusion serait la même avec le mot « vers », qui est déjà présent : « pousser la boîte vers le nord » <=> « pousser la boîte vers la machine ». Aussi ce n’est pas dérangeant de rajouter « contre » ici.
On peut d’ailleurs mixer les deux possibilités, illustrées ici dans le code de « introifiction » :
svn.tuxfamily.org/viewvc.cgi/inf … iew=markup

Object Table "table" Taverne with description "Une table près de l'entrée.", name 'table', endroit 0, before [; PushDir: if (second == PorteTaverne) { if (self.endroit == 2) { print "Elle y est déjà.^" ; rtrue ;} else print "Vous poussez la table près de la porte.^"; self.endroit = 2 ; rtrue ; } if (second == Bar) { if (self.endroit == 3) { print "Elle y est déjà.^" ; rtrue ;} else print "Vous poussez la table près du bar.^"; self.endroit = 3 ; rtrue ; } if (second == noun) { "Elle est bien là où elle est actuellement.";} else AllowPushDir(); rtrue ; ], has supporter female;

Ici on peut pousser la table contre le bar, vers la porte, et vers dehors (ou vers l’ouest)

mouais, je connais des gens qui ne peuvent pas piffrer Inform et sa syntaxe. Je ne dis pas cela pour casser gratuitement inform, que j’apprécie, mais bon, le sujet peut prêter à controverse.

Je te trouve un peu irrespectueux et injuste par rapport au travail qui a été fait à ce sujet. Déjà FrenchG.h est une quasi copie carbone de Grammar.h traduite en français.
French.h pour sa part a dû avoir plus de remaniements et de « hack », mais c’est plutôt normal car la langue française est un poil plus irrégulière que la langue anglaise (et pas qu’un peu)…

Au final on a un système qui fonctionne plutôt bien, qui est certes perfectible, mais je pense que ce n’est pas cela qui écrit toute les histoires, et de toute façon on se retrouve avec un système qui est quand même très proche de ce qu’il y a en langue anglaise.

Mais puisque tu n’as pas l’air satisfait de la traduction française actuelle d’Inform 6, auraes, peut-être pourrais-tu en faire une autre, qui corresponde mieux à ta vision de ce qu’une telle traduction devrait être ? Ce serait, je n’irais pas jusqu’à dire plus facile (encore que tes nombreuses remarques suggèrent que tu t’y connais assez pour en être capable), mais nettement moins frustrant que de faire des tas de suggestions dont beaucoup sont refusées…

Après, les auteurs de jeux pourraient choisir librement la traduction qu’ils préfèrent.

(Euh… j’espère qu’il n’y a rien dans la licence d’Inform qui interdise de faire plusieurs traductions dans une même langue ?)

Auraes, compte tenu de tes solides connaissances d’Inform 6, de tes nombreuses remarques souvent pertinentes, mais aussi parfois des discussions qui s’ensuivent sur la possibilité ou pas d’inclure tes suggestions dans les bibliothèques francophones d’Inform 6, on pense qu’il serait bien que tu puisses avoir un accès au dépôt SVN pour travailler sur une branche de développement, que l’on pourrait ainsi tester en parallèle de la branche courante sur nos jeux.

Si cela t’intéresse, tu peux t’enregistrer sur TuxFamily et on ouvrira l’accès :

tuxfamily.org/

Le processus d’installation et d’utilisation de SVN est expliqué ici :
https://forum.fiction-interactive.fr/t/installation-dun-depot-subversion/214/1

Je n’ai aucune compétence particulière que ce soit en Inform6, programmation, narration ou langue française.
Je fais simplement quelques suggestions.
Peut-être que je proposerai ma version - basée sur la 2.1 - des librairies. En chantier… Elles n’ont pas vocation à être des librairies de base.
De toute façon, je ne vais pas vous embêter bien longtemps.

Quelques suggestions pour les librairies Inform6 :

  • Verb ‹ lire › * noun ‹ sur › noun → Consult;
    ! lire message, inscriptions… sur mur, pancarte…
    ! il y a déjà [* noun ‹ sur › topic] mais c’est plus compliqué à gérer.
    ! ([* noun ‹ sur › topic] prend la main si [noun ‹ sur › noun] échoue.)

  • Verb ‹ tourner › ‹ retourner › * noun → Turn;

  • Verb ‹ regarder › *‹ derriere › noun → Turn;
    ! (Pour regarder facilement derrière un objet.)

~ Verb ‹ appuyer › *‹ sur › noun → Switch; !Au lieu de Push
! SwitchSub de type : Si (on) SwitchOff Sinon SwitchOn;

  • Verb ‹ regarder › *‹ par › noun → Search; Puisqu’il y a ‹ a_travers ›
  • Verb ‹ allumer › * → SwitchOn;
  • Verb ‹ éteindre › * → SwitchOff;
  • Verb ‹ laver › *‹ vous › → Rub; !se laver, se nettoyer…
    * noun → Rub; !laver objet
  • Verb ‹ souffler › *‹ sur › noun → Blow; !sur bougie
  • Verb ‹ excuser › *‹ vous › → Sorry; !s’excuser
  • Verb ‹ verrouiller › * noun → Lock;
  • Verb ‹ déverrouiller ›* noun → UnLock;
    !(Affecter noun.with_key sinon cela bogue)

~ Verb ‹ boire › ‹ de ›/‹ du › ‹ l^ › noun → Drink;
! A quoi sert le ‹ l^ › (boire de l’eau?)
! Si il est utile alors il doit l’être aussi dans Eat
~ Verb ‹ manger › ‹ de ›/‹ du › ‹ l^ › noun → Eat;
! (Manger de l’orange, de l’ours…?!)

!En vrac…----------------------------------------------------
Ajouter : Sortir ‹ dans › ! dans la cour, le jardin ?!
Ajouter : jeter/lancer par/vers ?!
Ajouter : se déshabiller puisque il y a s’habiller.
Ajouter : prendre sur/dans ?!
!(Si une pomme est ‹ sur X › et une autre ‹ dans X ›, prendre la bonne pomme)
Boire, c’est vider & manger. ?!
!Il doit être possible de le gérer avec Empty, Emptyt et Eat.

(Mes tabulations ont toutes sautées…pfffff…)

Tiens, tant que j’y pense : ajouter « patienter » comme synonyme « d’attendre » :slight_smile:

Des petit bogues vus avec rats.z8 :
Au début du jeu, lorsque l’inventaire et vide et que je saisie : , j’ai le message par défaut : « Pouvez-vous préciser l’objet concerné par cette action, ou à utiliser ?^ ». Par la suite, après avoir pris/posé un objet, le message par défaut sera : « Rien n’est disponible ! »
Il y a un bogue dans la gestion du menu d’aide. Je saisie : et j’ai le message [Appuyiez sur Espace] qui vient interférer.
/***
La librairie 2.3 ne gère pas <prendre ‹ du › pain> <prendre ‹ de la › confiture>.
/***
Un petit BONUS, ma grammaire de communication avec les personnages (C’est du boulot!)

Verb 'parler' * 'a' creature -> Tell * 'a' creature 'de' topic -> Ask * 'de' topic 'a' creature -> Ask reverse ; Verb 'demander' * 'a' creature noun -> AskFor * noun 'a' creature -> AskFor reverse * 'a' creature 'de' topic -> AskTo ; Verb 'interroger''?//' * creature 'sur' topic -> Ask ; Verb 'dire' * 'a' creature 'de' topic -> AskTo * topic 'a' creature -> Answer ; Verb 'repondre' * 'a' creature topic -> Answer reverse * topic 'a' creature -> Answer ;
Avec un petit Objet pour tester le Ask:

object bob "Mr bob" debut with name 'bob', description "Un type sympa...", life [; Ask: switch (second){ 'Inform6': "Un super logiciel!"; 'bob','lui': print_ret (address) self.name," ,c'est moiiiiii. ", (name) noun,"."; 'moi': "Et! Mais je vous connais pas?"; } print_ret "AskDefault: Je ne sais rien sur @<< ",(address) second," @>>"; default: "Pour l'instant c'est tout..."; ], has animate male proper ;