CAAD
https://foro.caad.es/

Superglus: Conversación por menú fallida
https://foro.caad.es/viewtopic.php?f=6&t=6172
Página 1 de 1

Autor:  El testigo [ 21 Mar 2017 17:53 ]
Asunto:  Superglus: Conversación por menú fallida

Saludos. Espero que todo vaya bien.

Estoy viendo la conversación por menús de Superglus para usarla en mi juego. Al parecer, la misma presenta fallo.

Código:
; Definiciones
; Constantes
##define const Tecla1 = 49
##define const Tecla2 = 50
##define const Tecla3 = 51
##define const MenuInicial = 52
##define const MenuSecundario = 53

; Banderas
##define flg fTeclaPulsada = 100
##define flg fMenu = 101
##define flg fContadorSaludos = 102

; Vocabulario
LUIS 21 noun

; Tabla respuestas
HABLAR LUIS
AT locPlaza
PROCESS 3
DONE

; Proceso 1
_ _
AT locPlaza
WRITELN "Luis está aquí."

; Proceso 3
; Conversación simple
_ _
CLEAR fTeclaPulsada

_ _
WRITELN “1.- Hola.”
WRITELN “2.- Adiós.”

_ _
GETKEY fTeclaPulsada

_ _
EQ fTeclaPulsada Tecla1
WRITELN “Dices: 'Hola.'”
WRITELN “Luis dice: 'Hola.'”
RESTART

_ _
EQ fTeclaPulsada Tecla2
WRITELN “Dices: 'Adiós.'”
WRITELN “Luis dice: 'Adiós.'”
DONE

_ _
RESTART

; Conversación de doble menú
_ _
CLEAR fTeclaPulsada

_ _
EQ fMenu MenuInicial
WRITELN “1.- Hola.”
WRITELN “2.- Adiós.”
WRITELN ”3.- ¿Speak English?"

_ _
EQ fMenu MenuSecundario
WRITELN "1.- Hello."
WRITELN “2.- Goodbye."
WRITELN ”3.- Mejor en español.”

_ _
GETKEY fTeclaPulsada

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla1
WRITELN “Dices: 'Hola.'”
WRITELN “Luis dice: 'Hola.'”
RESTART

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla2
WRITELN “Dices: 'Adiós.'”
WRITELN “Luis dice: 'Adiós.'”
DONE

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla3
WRITELN "Questions: 'Do you speak English?'"
WRITELN "Luis responds: 'Of course, yes.'"
LET fMenu MenuSecundario
RESTART

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla1
WRITELN "You say, 'Hello.'"
WRITELN "Luis says, 'Hello.'"
RESTART

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla2
WRITELN "You say, 'Bye.'"
WRITELN "Luis says, 'Bye.'"
DONE

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla3
WRITELN “Dices: 'Mejor en español.'”
WRITELN “Luis dice: 'Vale.'”
LET fMenu MenuInicial
RESTART

_ _
RESTART

; Conversación con el jugador cansino
_ _
CLEAR fTeclaPulsada

_ _
EQ fMenu MenuInicial
WRITELN “1.- Hola.”
WRITELN “2.- Adiós.”
WRITELN ”3.- ¿Speak English?"

_ _
EQ fMenu MenuSecundario
WRITELN "1.- Hello."
WRITELN “2.- Goodbye."
WRITELN ”3.- Mejor en español.”

_ _
GETKEY fTeclaPulsada

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla1
LT fContadorSaludos 5
WRITELN “Dices: 'Hola.'”
WRITELN “Luis dice: 'Hola.'”
PLUS fContadorSaludos 1
RESTART

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla1
GE fContadorSaludos 5
WRITELN “Dices: 'Hola.'”
WRITELN “Luis dice: 'Hola cansino, hola otra vez.'”
RESTART

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla2
WRITELN “Dices: 'Adiós.'”
WRITELN “Luis dice: 'Adiós.'”
DONE

_ _
EQ fMenu MenuInicial
EQ fTeclaPulsada Tecla3
WRITELN "Questions: 'Do you speak English?'"
WRITELN "Luis responds: 'Of course, yes.'"
LET fMenu MenuSecundario
RESTART

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla1
LT fContadorSaludos 5
WRITELN "You say, 'Hello.'"
WRITELN "Luis says, 'Hello.'"
RESTART

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla1
GE fContadorSaludos 5
WRITELN "You say, 'Hello.'"
WRITELN “Luis says, 'Hi, hello, hello again.'"
RESTART

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla2
WRITELN "You say, 'Bye.'"
WRITELN "Luis says, 'Bye.'"
DONE

_ _
EQ fMenu MenuSecundario
EQ fTeclaPulsada Tecla3
WRITELN “Dices: 'Mejor en español.'”
WRITELN “Luis dice: 'Vale.'”
LET fMenu MenuInicial
RESTART

_ _
RESTART

El fallo es que no inicia la conversación en el juego luego de teclear la órden establecida: HABLAR LUIS
Estoy en la localidad indicada con la simulación de Luis mediante el PRO 1 pero nada, no aparece el menú ni siquiera dice nada de nada.
Incluso la primera vez que implementé la rutina, el juego no me trasladaba desde la pantalla 0 = Intro a la localidad 2 = Plaza. Es como si el GETKEY tomara el ANYKEY de la pantalla 0 como su órden de espera de pulsación de una tecla.

Como puedes ver, la rutina está idéntica a la del tutorial para Superglus de conversaciones solo renombrados los controladores de KEY_1 a Tecla1, de fKey a fTeclaPulsada y los WRITELN. Algo que nunca deberá afectar a la rutina en general.
También copié la rutina del marinero que nos entrega el mapa y esa sí funciona tal cual el tutorial. ¿Alguna idea de qué está fallando con la rutina de Luis?

(NOTA: La misma rutina de Luis en ngPaws también falla).
No es que esté utilizando la rutina de Superglus copiada en ngPaws. Busqué el tutorial de la documentación ngPaws y de la misma manera no funciona.

Me despido esperando que tengan buen día tarde noche.

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