saimazoom escribió:
Más cosas raras que me pasan en I7:
Código:
>x puerta almacen
[examining la puerta acorazada del almacén]
No observas nada especial en la puerta acorazada del almacén.
[examining la puerta acorazada del almacén - succeeded]
>x puerta del almacen
Intenta de nuevo, porque sólo te pude entender: examinar la puerta acorazada del almacén.
Y la puerta está definida como:
Código:
The bulkhead(f) is west of the entrada and east of the almacen_1. The bulkhead is a closed and locked door. The printed name is "puerta acorazada del almacén". Understand "acorazada", "puerta", "compuerta","almacen" as the bulkhead. It is female.
Yo entiendo que el parser de Inform está entendiendo 'examina' y 'puerta' y 'almacén', pero no sabe que hacer con 'del'.
ve que 'puerta' y 'almacén' puede ser bulkhead. Así que te informa que ha entendido casi todo EXAMINE y bulkhead pero no es capaz de parsear la entrada 'completamente'.
Es bastante común en Inform estos problemas con 'del' y 'al'. Yo lo que hago es ponerlo expresamente o sea:
Código:
Understand "acorazada", "puerta", "compuerta", "almacen", "puerta acorazada del almacen" as the bulkhead
Pero te recomiendo que uses mejor un token de sintaxis así:
Código:
Understand "de almacen", "almacen", "que da a almacen" as "[almacen]".
Understand "puerta", "acorazada", "compuerta", "[almacen]" as the bulkhead.
Y ten en cuenta que se puede generalizar lo que escribes dentro del understand con '/' y con '--'. No estoy seguro si funciona pero puedes probar con:
Código:
Understand "puerta/compuerta acorazada/-- de/-- almacen/--" as the bulkhead.
Es probable que haya que retocar algo de la sintaxis, lo siento, no tengo el I7 aquí.
A parte de eso, creo que es una buena costumbre con reglas de este tipo -para nombres de objetos- activarlas sólo en presencia del objeto en cuestión, así no hay confusiones en caso de haber ambiguedad, de esta forma
Código:
Understand "puerta/compuerta acorazada/-- de/-- almacen/--" as the bulkhead when the bulkhead is visible.
Por supuesto puedes combinar todos los mecanismos...
(Editado: ya que no se puede usar los token con --)
Código:
Understand "puerta", "compuerta", "portón", "abertura" as "[puerta]".
Understand "fuerte", "acorzada", "blindada" as "[acorazada]".
Understand "almacen", "de almacen", "junto a almacen", "que da a almacen" as "[almacen]".
Understand "[puerta] [acorazada] [almacen]" or "[puerta] [acorazada]" or "[puerta] [almacen]" or "[puerta]" as the bulkhead when the bulkhead is visible.