Saltar la navegación

6. Vectores

Un vector es una lista de valores que pueden ser números, textos, valores de variables, de constantes, etc. Un vector tiene un identificador o nombre, un tamaño, que es su longitud o número de elementos y el parámetro evaluar que indica que el vector se evalúa una sola vez al principio de la escena. El área de texto, que aparece en el panel de configuración de un vector, sirve para asignar los valores (o inicializar) a los elementos del vector (también se puede usar un algoritmo para dar valores a los elementos de un vector). Los valores de cada elemento se asignan indicando el nombre del vector y entre corchetes el número del elemento (los elementos de los vectores se empiezan a numerar a partir del cero). Por defecto el valor de todos los elementos de un vector es cero.

Como ejemplo crearemos un vector de nombre V1 que se evaluará una sola vez y con tres elementos cuyos valores serán: V1[0]=3; V1[1]=8; V1[2]=4.

Mediante la introducción de un texto, presentaremos en pantalla el valor de los componentes del vector V1[0], V1[1] y V1[2]:

Los valores de los datos de un vector pueden ser numéricos o de cadena, en cuyo caso deben aparecer entre comillas sencillas, por ejemplo, V1[0]='valor'; V1[1]='cosa'; V1[2]='CAMPO'.

La manera de hacer referencia a un elemento de un vector es escribir el identificador del vector seguido del número del elemento entre corchetes. Por ejemplo, si se quiere hacer referencia al primer valor de un vector llamado vec, se hará como vec[0], si se quiere hacer alusión al tercer elemento de este vector se indicará como vec[2], etc.

Lectura de datos de los elementos de un vector en ficheros

Los elementos de los vectores pueden tomar sus valores de un fichero de texto externo a la escena, para ello se deberá poner en el campo archivo la ruta relativa del fichero de texto respecto de la escena y el nombre y extensión del fichero respecto del que se van a tomar los valores (se recomienda que estos ficheros lleven extensión .txt). El nombre del fichero puede introducirse a partir del valor de una variable o control cuyo nombre debe ir entre corchetes. Por ejemplo, si la variable fichero es igual a 'ejemplo.txt' (fichero=ejemplo.txt), en el campo archivo del vector puedo escribir [fichero].

La forma de asignar valores a los elementos de un vector a partir de un fichero es que cada línea del fichero será un dato del vector. De esta forma la primera línea del fichero será el valor del primer componente del vector, la segunda línea la del segundo y así sucesivamente. Si las líneas del fichero van entre comillas simples los valores asignados serán de tipo texto, en caso contrario se tomarán como numéricos.

La utilización de ficheros en juegos didácticos es una herramienta muy útil, ya que las preguntas que se realizan en los juegos se pueden cargar desde diferentes ficheros, ya que se puede indicar el nombre de un archivo mediante un control o una variable.

Presentamos un pequeño ejemplo. Guardamos en un fichero de texto una pregunta, con cuatro opciones de respuesta y la solución. El nombre del fichero es capital.txt y su contenido es el siguiente:

En una escena creamos un vector con nombre V1 que cuyos elementos tomarán los datos del fichero capital.txt.

Creamos un texto que nos muestre los valores del vector: V1[0], V1[1], V1[2], V1[3], V1[4] V1[5]

Y en la escena se verá el siguiente resultado.

Nota muy importante: Para que en las escenas rodadas desde el propio ordenador (no desde escenas en Internet), se vea el contenido de los datos de un fichero, se debe cargar el fichero a través de controles, ya que, por cuestiones de seguridad, no se permite la lectura directa de ficheros cuando se trabaja en el equipo local.

Nota importante. Cuando se usan las escenas de Descartes en el equipo local, para que los vectores funcionen y no haya que cargarlos mediante controles, se deben añadir al final del código de la escena, entre las etiquetas <script type="descartes/vectorFile" id="ruta relativa completa del fichero del vector respecto de la escena"> y </script>. Si en el editor de escenas de Descartes está marcada la opción "vector" del submenú "Agregar al html" del menú "Opciones", el código del mismo se añadirá automáticamente al final del código de la escena. A continuación, vemos un ejemplo de un vector añadido al final de una escena de un juego.

Actividad

Definir un vector en una escena.