Diana y Lamparita: Cómo dibujar y cambiar el estado de luz

Clasificado en Informática

Escrito el en español con un tamaño de 4,25 KB

- DIANA:

Diametros iguales entre sí: Primero se creó la variable numCirculos y se asignó en el draw igualándolo a 0. Se hizo una función que contenía la fórmula para calcular el diámetro de las circunferencias de la diana (línea 57). A esa operación se le multiplica la variable máximo para que varíe junto al tamaño del canvas. También se creó la función calcularMaximo, en la que reside un if y else que afecta a width y height, y también sirve para calcular el diámetro del círculo más grande, para dibujarlo de más grande a pequeño.

Hacer los círculos: Finalmente, en el draw se hace un while que funciona mientras la variable numCirculos sea menor o igual a 10, se dibujan los círculos y se pintan mediante un switch. La variable numCirculos se incrementa luego para que las circunferencias vayan disminuyendo su tamaño, a la vez que ayuda a que el color cambie.

Pintar las circunferencias: Primero se crearon las variables de color que se pusieron después en el setUp para que se asignen los valores del color. Luego se creó una función llamada pintarSwitch, donde se asignó el parámetro de caso que habría también en el switch y en cada caso creado se le daría un valor a pintar y se repasarían otras variables creadas para que afecten al círculo y al color del borde de este. Después, en un while dentro del draw, se pone la función de pintarSwitch en la que se le asignará el parámetro de numCirculos, que es 0, y se incrementa para que recorra el switch y pase de un color a otro.

- LAMPARITA:

Cambio de estado de luz: Se hicieron las variables de los estados de la lámpara y luego se pusieron en el setUp para definir los valores de los colores que representan el estado. Seguidamente, se hizo una función llamada pintarSwitch que serviría para que la lámpara pueda recorrer todos sus estados de luz, por lo que la variable colorluz se le da el valor dependiendo del caso en el que se encuentre (estado = 0, =1..). A este switch se le asigna el parámetro de 'estado' que se pondrá dentro de un mousePressed que ayudará a que cambie de estado gracias a un incremento que se aplica a la vez que se hace clic dentro del 'botón'. Dentro de esta función, habrá diferentes 'if'. El primero funcionaba para cuando se hiciera clic en la zona correspondiente se generara un incremento (antes mencionado). Dentro de este, habría un if anidado para que el estado de luz pueda pasar de encendido a apagado. Dentro de este primer if, habría la función de pintarSwitch(estado) con el parámetro estado para que estas órdenes afecten al switch. Luego, habría un 'else' y 'else if' que son los que afectarán al interruptor principal de encendido y apagado.



Estado de encendido y apagado: Se creó la variable booleana encender con un valor TRUE para que cuando se ejecute el programa, la regleta esté encendida. Luego, en el mousePressed, se pone una serie de 'if' que serán los responsables de que varíe el estado de la lámpara, que esta serie de estados vuelva a iniciarse una vez ha acabado y que afecte al switch que se puso anteriormente. En el 'else if' y 'else' del final se encuentra el funcionamiento de la regleta, en donde si la condición del paréntesis se cumple (si se hace clic en esa zona especificada), se encienda o se apague, es decir, encender = TRUE o encender = FALSE. Finalmente, en el draw, se hace un if que afecta a todo el funcionamiento de la lámpara. Dependiendo si encender es TRUE o FALSE, se harán una serie de órdenes que afectarán a todo el canvas.

Entradas relacionadas: