Augmenter le nombre de synonymes possibles ?

bonjour bonjour

j’ai un petit problème, j’ai besoin (sauf à changer complètement de méthode) de pouvoir définir un GRAND nombre de synonymes pour un verbe (attendre, en l’occurrence, mais ça pourrait être n’importe quel autre) … Et à la compilation, ça ne passe pas.

Y-a-t-il un moyen d’augmenter le nombre de synonymes possibles ? avec un truc à la MAX_USE , peut être ?

Tu veux définir combien de synonymes ? Et qu’est-ce qui ne passe pas à la compilation ? Apparemment, il n’y aurait pas assez de mémoire. Si tu es en glulx et qu’il s’agit bien de la mémoire, il faut en donner plus, en fonction de ce qui a été dépassé (normalement, il te l’indique).
Je cite la doc en exemple « Use MAX_ZCODE_SIZE of 60000. ».

Si ça marche pas, je vois pas trop…
(peut-être effectivement changer de méthode, mais alors il faut que tu donnes plus de détails.)

souvent je rajoute ça à mes codes :

[code]Use MAX_VERBSPACE of 8000.
Use MAX_ZCODE_SIZE of 60000.

Use MAX_ARRAYS of 1500.
Use MAX_CLASSES of 200.
Use MAX_VERBS of 254.
Use MAX_STATIC_DATA of 135000.
Use MAX_INDIV_PROP_TABLE_SIZE of 20000.
Use MAX_DICT_ENTRIES of 1600.[/code]

je ne sais pas si on peut aller à plus de 254 pour « Use MAX_VERBS of 254. »

je suis à 9999 … :blush:

Mon problème c’est que pour permettre au joueur d’attendre, j’ai des trucs du genre :

[code]Waiting for two minutes is an action applying to nothing.
Understand « attendre deux minutes » or « attendre 2 minutes » as waiting for two minutes.

  Carry out waiting for two minutes:
  now player is attente; 
  let the target time be the time of day plus two minutes; 
  decrease the target time by one minutes; 
  while the time of day is not the target time
  begin;
  follow the turn sequence rules;
  end while;
  now player is notattente.[/code]

Vu le nombre de minutes dans une heure, et d’heures dans une journée (même si j’ai limité l’attente max à 3h d’un coup), vous imaginez le nombre de « understand truc » as waiting …

Bon j’ai court-circuité mon problème en faisant autrement :

[code]Waiting more is an action applying to one topic.

Understand « attendre [text] » as waiting more.

Carry out waiting more:
say « Vous ne pouvez pas attendre si longtemps, d’une seule traite. »;
stop the action.[/code]

( si je mettais " applying to one number " , dire ensuite « understand « attendre quatre heures » as waiting more » , ne marche pas : une fois dans le jeu, ça répond " vous ne devez pas indiquer d’objet )

Pour le reste, j’ai utilisé des " / " as la place des or (genre " understand truc/bidule/machin") mais tout ça ne me dit pas comment augmenter malgré tout le nombre " or " à la suite d’un " understand "… mais ça n’est peut être pas faisable après tout

Je pense que la meilleure solution c’est de refaire le système, c’est pas super pratique.

[code]waiting more is an action applying to a number.
Understand « attendre [number] minutes » as waiting more.

Carry out waiting more:
increase the time of day by the time understood.[/code]

Pour moi ça marche. En fait, tu peux pas écrire « quatre » pour 4, il faut écrire « four » (en anglais quoi) ou 4. C’est pour ça que ça ne marchait pas avec number.

Après il ne reste qu’à ajouter des conditiond etc.

Oui, ça ça peut marcher. Merci d’avoir pris le temps de taper ça.

Après, j’ai un problème incompréhensible, parce que je veux quand on attend, chaque tour soit réellement joué (turn sequence rule), et non pas " sauté " jusqu’à l’heure voulue. c’est nécessaire pour que mon petit monde " vive " réellement pendant que le personnage attend, et que le temps passe réellement pour passer d’un jour à l’autre. Enfin je ne m’exprime pas clairement, là, mais je posterai un exposé précis un autre jour.

Je pense que cela pourrait répondre à ta question :
inform7.com/learn/man/Rex411.html#e411

J’ai fait un test à partir de cela et ça semble fonctionner :

[code]« test » by eric

kitchen is a room.
The clock is in the kitchen.

Instead of examining clock, say « It is [time of day]. ».

The apple is an edible thing in kitchen.

RottingApple is a recurring scene. RottingApple begins when the apple is carried.
RottingApple ends when the time since RottingApple began is 15 minutes.

When RottingApple begins:
say « The apple begins to rot. ».

When RottingApple ends:
say « The apple is rotten. »;
remove apple from play.

Waiting more is an action applying to one number.

Understand « wait [a time period] » or « wait for [a time period] » or « wait for a/an [a time period] » or « wait a/an [a time period] » as waiting more.

Carry out waiting more:
let the target time be the time of day plus the time understood;
decrease the target time by one minute;
while the time of day is not the target time:
follow the turn sequence rules.

[The one nuance here is that after our wait command occurs, the turn sequence rules will occur one more time. So we need to subtract one minute from the parsed time to make the turn end on the desired number of minutes.]

Report waiting more:
say « It is now [time of day + 1 minute]. »

[And if we want to ensure that the player doesn’t (accidentally or intentionally) put the interpreter through a really long loop, we could put an upper limit on his patience:]

Check waiting more:
if the time understood is greater than one hour, say « You really haven’t got that kind of patience. » instead.

Test me with « wait 4 minutes / take apple / wait 7 minutes / wait / wait / wait (etc) ».

[/code]