martes, 29 de diciembre de 2020

Como se hizo. Preguntas en ficheros de texto

La mayoría de los juegos didácticos del Proyecto AJDA permiten generar y almacenar las preguntas que se utilizarán en los juegos en ficheros de  texto, los cuales se cargan en los juegos cuando se desean utilizar. En este artículo vamos a analizar como se ha realizado ésto desde el punto de vista de la programación de DescartesJS.

Antes de empezar el juego (o durante el transcurso del mismo, si es necesario) se carga un fichero de texto con las preguntas y sus datos son introducidos en una variable llamada TOTALENVI. La pantalla de carga del fichero se muestra a continuación. Se trata de un iframe, programado en lenguaje javascript, e insertado en la escena de Descartes del juego. Esta parte la trataremos de forma específica en otro artículo.

Al iniciarse el juego se ejecuta automáticamente el algoritmo: FICHERO-PREGUNTAS, que en su campo hacer ejecuta las siguientes instrucciones:

cadena1b=TOTALENVI

cadena1='<VEC>\n '+cadena1b+'</VEC>'

SUBIRFICH=(CFI=0)?_StrToVector_(cadena1,'VEC'):' '

  • En la variable cadena1b se cargan los datos de la variable TOTALENVI que ha sido enviada al juego en el momento de su carga y que contiene los datos del fichero de preguntas que se cargarán en el juego.
  • La variable cadena 1, es la variable cadena1b a la que se la incluido al principio <VEC> (y un salto de línea \n) y al final </VEC>. Esto es necesario para que en la siguiente operación la cadena 3 pueda ser transformada en un vector.
  • La función SUBIRFICH convierte la cadena 1 en el vector VEC.
Ahora las preguntas y respuestas del fichero se encuentran en el juego en las distintas líneas del vector VEC (cada línea del fichero es una línea del enunciado, una opción de respuesta, una solución...), las cuales pueden ser incluidas en los textos, las soluciones dadas por los jugadores comparadas con las correctas, las preguntas pueden ser ordenadas aleatoriamente mediante algorítmos, etc.

Si durante el juego se necesita cargar otro fichero de preguntas, lo que se hace es actualizar de nuevo los valores de la variable TOTALENVI. Si se necesitan en un juego cargar varios ficheros de preguntas, se generan varias variables TOTALENVI1, TOTALENVI2, TOTALENVI3... y cada una de ellas se pasa  su correspondiente vector: VEC1, VEC2, VEC3,,,

No hay comentarios :

Publicar un comentario