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.
|