CAAD
http://foro.caad.es/

¿Cómo hacer que un objeto sea reconocido por CÓGELO?
http://foro.caad.es/viewtopic.php?f=6&t=6169
Página 1 de 1

Autor:  CiberSheep [ 13 Mar 2017 21:00 ]
Asunto:  ¿Cómo hacer que un objeto sea reconocido por CÓGELO?

Estoy probando varios flags pero algo no estoy haciendo bien:

La idea: Un «personaje» deja un objeto (en realidad es creado en un condacto) y quiero que la siguiente orden que se escriba pueda ser "CÓGELO" sin tener que especificar porque ya está en la descripción de respuesta del condacto mencionado.

Es decir:
Código:
VERBO NOUN
 bla bla bla
 CREATE oObjetoMAravilloso
 LET     46 _voc_MARAVILLOSO (es el sustantivo del oObjetoMaravilloso)
 DONE


Pero al probar este código, la respuesta es «No ves eso por ahí», una respuesta por defecto.

¿Ideas?

Autor:  CiberSheep [ 14 Mar 2017 14:56 ]
Asunto:  Re: ¿Cómo hacer que un objeto sea reconocido por CÓGELO?

Un apunte. Me he dado cuenta que con:
Código:
 WRITELN "Lo que sea"
 LET 46 _voc_MARAVILLOSO


el sistema se salta el LET. Así, debe ponerse antes.
Estoy haciendo varias pruebas pero algo hago mal.
>Dar objeto1 a Alguien
Te da MARAVILLOSO

Si el objeto1 es 1 y su «nombre» 100, y el del objeto maravilloso 0, y su nombre 50. Hago:
LET 34 50
LET 51 0
pero al teclear «cógelo», si en la consola miro los valores de los flags vuelven a valer 34=100 y 51=1.
¿La función del pronombre toma estos valores de alguna parte que no sepa?

Autor:  Uto [ 16 Mar 2017 10:00 ]
Asunto:  Re: ¿Cómo hacer que un objeto sea reconocido por CÓGELO?

El "nombre de la frase anterior" se guarda internamente al parsear la frase, no hay manera (como siempre sin bajar a javascript) para modificar el "nombre de la frase anterior". Por su parte los flags 46 y 47 guardan el pronombre en sí, no el nombre al que hace referencia, por lo que de poco sirve modificarlos.

La variable es previous_noun, y si ha de llevar adjetivo la del adjetivo es previous_adject. La forma más rápida de bajar a javascript es usar EXTERN:

Código:
WRITELN "Lo que sea"
EXTERN "previous_noun=xx"


No puedes usar los identificadores de txtpaws dentro de un EXTERN, así que XX lo tienes que sustituir por el número del vocabulario de _voc_MARAVILLOSO

Aviso que todo esto es muy teórico y no lo he probado, inténtalo y a ver si hay suerte. En caso contrario le echaré otro ojo pero por lo menos hasta el fin de semana no puedo :-)

Autor:  CiberSheep [ 16 Mar 2017 10:54 ]
Asunto:  Re: ¿Cómo hacer que un objeto sea reconocido por CÓGELO?

Gracias. Ahora lo probaré.

Autor:  CiberSheep [ 16 Mar 2017 11:49 ]
Asunto:  Re: ¿Cómo hacer que un objeto sea reconocido por CÓGELO?

Uto escribió:
La variable es previous_noun, y si ha de llevar adjetivo la del adjetivo es previous_adject. La forma más rápida de bajar a javascript es usar EXTERN:

Código:
WRITELN "Lo que sea"
EXTERN "previous_noun=xx"


No puedes usar los identificadores de txtpaws dentro de un EXTERN, así que XX lo tienes que sustituir por el número del vocabulario de _voc_MARAVILLOSO


E X C E L E N T E. Soy muy feliz.
Funciona de maravillas.Gracias

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/