4.8. Toma de decisiones y eventos

Icono de iDevice

La forma de utilizar las comparaciones que se han descrito es, a veces, muy sencilla. Por ejemplo, cuando veamos los componentes gráficos veremos que se pueden establecer condiciones en un apartado llamado “dibujar si” con los operadores booleanos. También en los controles se pueden introducir tomas de desición en su menú acción.

En otros casos debemos utilizar el procedimiento de Descartes para establecer disyuntivas. Es importante que realicemos la actividad 4.13 para ver cómo tomar decisiones condicionadas del tipo pregunta, cuya estructura es del tipo P=(condición)?a:b, donde P valdrá a si se cumple la condición y b si no se cumple.

Otra forma de utilizar los operadores booleanos son los eventos, auxiliares que detectan si se cumple una condición y la ejecutan. Si en la configuración de una escena añadimos un auxiliar evento, aparece una ventana con los siguientes elementos:

Los eventos tienen un nombre y una condición (expresión booleana) que cuando se cumple realizan la acción seleccionada.

id

Es el identificador del auxiliar.

En el caso de una función o algoritmo debe incluir los parámetros de los que dependa escritos entre paréntesis y separados por comas. Por ejemplo:

f(x,y,x).

condición

Condición que, cuando se cumple, genera la acción.

Una vez realizada la acción, ésta sólo vuelve a realizarse cuando la condición deja de cumplirse y luego vuelve a cumplirse.

acción
Acción que se realizará si se pulsa el botón en un control numérico con interfaz botón.

Existen las siguientes acciones: "mensaje", "calcular", "abrir URL", "abrir Escena", "créditos", "config", "inicio", "limpiar","animar", "iniciar animación" y "reproducir".

parámetro

El parámetro de la acción.

Si la acción es "mensaje" entonces el parámetro es el contenido del mensaje.

Si la acción es "calcular", entonces parámetro debe contener cero o varias asignaciones (separadas por ; o salto de línea) que el programa realizará cuando se ejecute la acción.

Si la acción es "abrir URL", el parámetro puede ser cualquier URL.

Si la acción es "abrir Escena" el parámetro debe ser una dirección relativa y lo que hace es abrir la primera escena de Descartes que encuentra en esa dirección.

Los parámetros "abrir URL" y "abrir Escena" admiten los atributos target con dos opciones:

_self si se pone como valor del atributo target, la abre sobre el mismo applet.

Dirección: pagina.htm target=_self
_blank si se pone como valor del atributo target, la abre en una ventana nueva

Dirección: pagina.htm target=_blank

Si la acción es "reproducir" entonces el parámtro debe llevar la acción relativa de un fichero de audio con extensión mp3.

ejecución

Determina el modo de ejecución de la acción del evento.

Si ejecución=una-sola-vez, sólo se ejecuta la primera vez que se cumple la condición.

Si ejecución=alternar entonces se ejecuta la primera vez que la condición se cumple, pero si la condición deja de ser válida y vuelve a serlo luego, entonces vuelve a ejecutarse la acción.

Si ejecución=siempre, la acción se ejecuta siempre que se cumpla la condición.

El valor por defecto es alternar.

pos mensajes

Determina la posición donde aparecerá el mensaje si la acción seleccionada es, precisamente, "mensaje".

Las opciones son: centro, arr_izq, arriba, arr_der, izquierda, derecha, ab_izq, abajo y ab_der.

El valor por defecto es "centro".

Las acciones posibles son:

mensaje Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro..
La posición de esta ventana puede determinarse con el valor de pos_mensajes que puede tomar los siguientes valores: centro, arr_izq, arriba, arr_der, izquierda, derecha, ab_izq, abajo y ab_der.
El valor por defecto de pos_mensajes es centro.
calcular Realiza los cálculos (asignaciones) indicadas en el parámetro y actualiza inmediatamente todos los controles con estos nuevos valores.
abrir URL Abre una página Web en una ventana nueva del navegador
abrir Escena Abre una escena de Descartes en una ventana autónoma
créditos Abre la ventana de créditos
config Abre la ventana de configuración
inicio Reinicia la escena
limpiar Borra todos los rastros dejados por los gráficos.
animar Comienza la animación, la detiene (pausa) o la continúa.
reiniciar animación Inicializa la animación, es decir, la devuelve a su punto inicial.
reproducir Inicia la reproducción del archivo de audio indicado en el parámetro. Para que aparezca esta opción debe de estar seleccionada la opción audio en el menú botones del editor de configuración de la escena.

Hay tres modos de ejecución: una-sola-vez, alternar y siempre. que se explican en la siguiente tabla.

una-sola-vez La acción sólo se ejecuta la primera vez que se cumple la condición.
alternar En este caso la acción se ejecuta una vez cuando la condición se cumple y no se vuelve a ejecutar hasta que la condición ha dejado de ser verdadera y vuelve a ser verdadera otra vez.
siempre Significa que la acción se ejecutará cada vez que la condición se cumpla.

En las actividades 4.15 y 4.16 se trabaja sobre distintos eventos, incluido los relacionados con la introducción de sonidos en las escenas.


Un ejemplo de evento, puede ser abrir una página web en la misma ventana o en una ventana nueva.
Esta unidad interactiva requiere la máquina virtual de Java J2RE.

Otro ejemplo de toma de decisiones se presenta en la siguiente escena, donde con los controles tipo menú se deberá de elegir la respuesta correcta a las preguntas planteadas

Esta unidad interactiva requiere la máquina virtual de Java J2RE.