Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
rubereaglenest opened this issue May 22, 2017 · 9 comments

Comments

@rubereaglenest
Copy link
Contributor

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
Copy link
Owner

sarganar commented Jul 2, 2017

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Contributor Author

rubereaglenest commented Jul 11, 2017 via email

@sarganar
Copy link
Owner

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
Copy link
Contributor Author

rubereaglenest commented Jul 11, 2017 via email

@sarganar
Copy link
Owner

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

@rubereaglenest
Copy link
Contributor Author

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!

@sarganar sarganar closed this as completed Aug 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants