sarganar / I7-Spanish

Extensión hispana para Inform7
Artistic License 2.0
16 stars 7 forks source link

METER ALGO EN objeto cualquiera no contenedor, ejecuta acción errónea #15

Closed rubereaglenest closed 7 years ago

rubereaglenest commented 7 years ago

Buenas. Traduciendo un juego me he encontrado con una definición erronea de la gramática Meter En.

Si se escribe la orden sobre un objeto contenedor, esta se comporta como se espera y lanza la acción Inserting:

>mete la lima en la máquina
[putting la lima de St. Stellio on el bar licuadora mecánico]
Poner cosas sobre el bar licuadora mecánico no servirá de nada.
[putting la lima de St. Stellio on el bar licuadora mecánico - failed the can't put onto what's not a supporter rule]

>mete la lima dentro de la máquina
[inserting la lima de St. Stellio into el bar licuadora mecánico]
Correcto.

En el ejemplo anterior la máquina no es un contenedor, pero la tolva sí.

Como se puede ver la gramática que da el problema es la de METER EN, la de METER DENTRO DE sí se ejecuta correctamente.

En inglés no existe este comportamiento:

...

insert lime in general [inserting the St. Stellio lime into General Livia Tudor-Adolphus] She can't contain things. [inserting the St. Stellio lime into General Livia Tudor-Adolphus - failed the can't insert into what's not a container rule] ...

Un saludo.

sarganar commented 7 years ago

Ruber, no puedo reproducir la falla.

"METER ALGO EN" by sarganar (in spanish)

Test-room is a room.

The maquina (f) is a container in the test-room.
The lima (f) is here.

test me with "actions / mete la lima en la maquina / sacala / mete la lima dentro de la maquina".
rubereaglenest commented 7 years ago

El objeto del test no debe de ser un contenedor.

el problema es que METER algo EN un objeto que no sea contenedor, lanza la acción putting on en vez de inserting into

rubereaglenest commented 7 years ago

Esto en qué afecta? Pues en que luego las reglas para redireccionar un METE EN un objeto no contenedor a uno que sí lo sea, no funcionan porque infsp usa el verbo incorrecto.

O sea, Instead of inserting the lima into the máquina, try inserting the noun in the tolva.

No funcionará porque el juego lo que necesita es Putting On. Pero eso es erroneo, esa gramática siempre debe lanzar la acción inserting, no putting.

sarganar commented 7 years ago

Ha vale, ahora lo entiendo. La gramática es copiada de infsp6:

Verb 'pon' 'mete' 'echa' 'inserta' 'coloca'
  * multiexcept 'en' container                              -> Insert
  * multiexcept 'en' noun                                    -> PutOn
  * multiexcept 'dentro' 'de' noun                           -> Insert
  * multiexcept 'sobre' noun                                 -> PutOn
  * noun 'a//' topic                                         -> SetTo
  * 'a//' creature 'en' container                           -> Insert
  * 'a//' creature 'en' noun                                 -> PutOn
  * 'a//' creature 'dentro' 'de' noun                        -> Insert
  * 'a//' creature 'sobre' noun                              -> PutOn
  * multiexcept 'encima' 'de' noun                           -> PutOn
  * 'a//' creature 'encima' 'de' noun                        -> PutOn
  * 'cerrojo'/'pestillo'/'cierre' 'a//' noun                 -> Lock
  * 'el' 'cerrojo'/'pestillo'/'cierre' 'a//' noun            -> Lock
  * 'cerrojo'/'pestillo'/'cierre' 'a//' noun 'con' held      -> Lock
  * 'el' 'cerrojo'/'pestillo'/'cierre' 'a//' noun 'con' held -> Lock;

Fíjate en la 2da linea. Tiene el comportamiento que te hace ruido. Si lo cambiamos en i7, asegurémonos que funcionará en todas las posibilidades.

rubereaglenest commented 7 years ago

Ya veo, el problema ahí es "pon" que no debería de ser sinónimo del resto, debería tener su propia sección gramatical, igual que "coloca".

Las definiciones de I7 son heredadas directamente del código I6? o las vuelve a definir con I7?

2017-07-11 0:57 GMT+02:00 sarganar notifications@github.com:

Ha vale, ahora lo entiendo. La gramática es copiada de infsp6:

Verb 'pon' 'mete' 'echa' 'inserta' 'coloca'

  • multiexcept 'en' container -> Insert
  • multiexcept 'en' noun -> PutOn
  • multiexcept 'dentro' 'de' noun -> Insert
  • multiexcept 'sobre' noun -> PutOn
  • noun 'a//' topic -> SetTo
  • 'a//' creature 'en' container -> Insert
  • 'a//' creature 'en' noun -> PutOn
  • 'a//' creature 'dentro' 'de' noun -> Insert
  • 'a//' creature 'sobre' noun -> PutOn
  • multiexcept 'encima' 'de' noun -> PutOn
  • 'a//' creature 'encima' 'de' noun -> PutOn
  • 'cerrojo'/'pestillo'/'cierre' 'a//' noun -> Lock
  • 'el' 'cerrojo'/'pestillo'/'cierre' 'a//' noun -> Lock
  • 'cerrojo'/'pestillo'/'cierre' 'a//' noun 'con' held -> Lock
  • 'el' 'cerrojo'/'pestillo'/'cierre' 'a//' noun 'con' held -> Lock;

Fíjate en la 2da linea. Tiene el comportamiento que te hace ruido. Si lo cambiamos en i7, asegurémonos que funcionará en todas las posibilidades.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sarganar/I7-2014-Spanish/issues/15#issuecomment-314273287, or mute the thread https://github.com/notifications/unsubscribe-auth/ARDCV73GURfZcODEWpNZQ7tN6FfE26KGks5sMqxbgaJpZM4NimR- .

-- Ruber Eaglenest

http://interactivoruber.blogspot.com/

sarganar commented 7 years ago

Se vuelven a definir con I7, lo que te copié es de la librería infsp6 (que viene de informATE). Todas las gramaticas de infsp6 se tradujeron a codigo I7 en la libreria española.

Se podría, como sugieres, producir lineas gramticales diferenciadas para 'pon' y 'mete'.

rubereaglenest commented 7 years ago

Bueno, como te pregunté antes, ¿cómo lo hacemos? lo arreglo en el fork? o te paso los issues y vas arreglando tú infsp I7?

Un saludo.

El 11 de julio de 2017, 23:16, sarganar notifications@github.com escribió:

Se vuelven a definir con I7, lo que te copié es de la librería infsp6 (que viene de informATE). Todas las gramaticas de infsp6 se tradujeron a codigo I7 en la libreria española.

Se podría, como sugieres, producir lineas gramticales diferenciadas para 'pon' y 'mete'.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sarganar/I7-2014-Spanish/issues/15#issuecomment-314574472, or mute the thread https://github.com/notifications/unsubscribe-auth/ARDCV0DKlGhnzE8fS0YCCkzdckWbA37sks5sM-YagaJpZM4NimR- .

-- Ruber Eaglenest

http://interactivoruber.blogspot.com/

sarganar commented 7 years ago

Te mandé un email con la extension corregida pa que la pruebes antes de publicarla.

rubereaglenest commented 7 years ago

Vale, he testeado la extensión corregida y creo que va fetén. Puedes publicarla.

Antes, en mi código de Ergot de Lima tenía esto:

Instead of inserting something into the bar licuadora: try inserting the noun into the tolva instead. [Instead of putting something on the bar licuadora: try inserting the noun into the tolva instead.]

El segundo era necesario para solventar ese problema de parser, ahora comentado, funciona genial con tu arreglo.

¡Gracias!