Bienvenidos de nuevo a un nuevo capítulo para llegar a tener una buena base en processing. En este caso nos encontramos en la última sesión. Si no lo habéis hecho, comenzad por el primer capítulo e id completando todos en orden.
El último escalón para llegar a este nivel medio sería controlar el tiempo y poder mandar ordenes al ordenador que te recuerde a una determinada hora. En este caso haremos un reloj digital que nos hará llegar un mensaje cuando llegue a una hora terminada. Por si alguno tiene la duda, el reloj digital se sincronizará con el del ordenador.

Empezaremos esta actividad creando tres variables de tiempo, los segundos los minutos y las horas. Para ello usaremos la función ‘int s=0;’ para los segundos, ‘int m=0;’ para los minutos y ‘int h=0;’ para las horas.
El siguiente paso es establecer ‘void setup(){‘ poniendo a continuación lo que queremos que se repita siempre. Como siempre tenemos que establecer el tamaño del fondo en este caso con forma de reloj digital, para ello utilizaremos la función de ‘size(300,150);’ que está explicada anteriormente en los otros capítulos. A diferencia de las demás actividades, aquí nos llegará un mensaje por lo que tendremos que establecer el tamaño de la letra con la función ‘textSize(50);’. Y cerraremos con ‘}’.
Después estableceremos las condiciones que queremos en nuestro reloj que se van a ir cumpliendo de una en una en bucle. La función es ‘void draw(){‘ y primero pondremos abajo el color que queremos de fondo con ‘background(0);’. Como quería el color negro que es (0,0,0) puedo poner únicamente un ‘0’ para el mismo propósito.
Ahora es el momento de sincronizar el tiempo con el del ordenador. Con las variables ‘int s=second();’ para los segundos, ‘int m=minute();’ para los minutos y ‘int h=hour(); para terminar de sincronizar la hora. El programa es muy estricto con los paréntesis lo que significa que si te falta alguno no va a funcionar.
Habiendo realizado los pasos anteriores es hora de introducir los números. Primero con ‘fill(255,0,0);’ para indicar el color rojo y a continuación ‘text(h+»:»+m+»:»+s,10,90);’ para indicar la distribución de los números y los dos puntos entre segundos, minutos y horas. Lo que hemos puesto dentro de la variable ‘text’ hace referencia en primer lugar a las horas, después pone los dos puntos(:) entre comillas (sino no vale) para separar las horas de los minutos, otra vez se ponen los dos puntos y por último los segundos. Todos ellos deben ir sumados con el signo ‘+’. Los dos números del final indican la posición donde se empezará a escribir.
Para acabar creamos la condición para que a una hora determinada se pare el reloj y aparezca un mensaje. Esto lo haremos con la función ‘if(m==30){‘ con la que diremos que si m (minutos) es igual a 30 se cumpla todo lo que pondremos ahora abajo. Podemos poner cualquiera de las tres variables e igualarla a cualquier tiempo. Lo primero que debemos poner es ‘clear();’ para ordenar que se vacíe la pantalla y que los números desaparezcan. Para concluir ordenaremos que se escriba un texto del color que queramos, primero con la función ‘fill(255,0,0);’ para poner el color y segundo con ‘text(«get up»,10,90);’ con la que se establecerá el texto que aparecerá. Los dos números del final indican la posición en la que empezará a escribir el mensaje. Este deberá ir en comillas.

Nos faltaría cerrar los dos corchetes que hemos dejado abiertos arriba, por lo que pondremos dos corchetes de este tipo al final de todo ‘}’.
Con este ultimo paso ya habríamos terminado el reloj despertador. Recordaros que si no os ha salido seguramente será porque os falta algún punto y coma, corchete o paréntesis así que revisarlos con cautela. Aquí tenéis una imagen de como sería.

Si todavía no os ha quedado claro de cómo se ha realizado, aquí os dejo un enlace para visitar un vídeo explicación de como hacerlo paso a paso. Introducción a processing
Ahora es vuestro turno de demostrar lo aprendido. Desde aquí os proponemos una actividad que consistiría en dibujar un bloque de hielo que se derrita cuando llegue a una determinada hora. Es decir, tendréis que crear un bloque de hielo y cuando la hora del ordenador sea una determinada, el bloque pasará a ser agua.
También os dejamos una foto para que podáis corregir vuestro programa si tiene algún fallo.



A continuación os dejamos un test de autoevaluación para que pongáis a prueba lo aprendido durante este capítulo. Cada pregunta tiene una única respuesta y el solucionado se encuentra al finalizar las preguntas.
1– ¿Cómo se establece la variable de minutos?
a) Int h b) Size c) Int m d) Int s
2– ¿Cómo establecemos el tamaño de la letra o de los números que aparecen en pantalla?
a) Size b) Void draw c) Fill d) TextSize
3– ¿Cómo igualamos los minutos a la hora del ordenador?
a)Hora() b) Int m=minute c) Minutes d) Float minute
4– ¿Con que función se realiza una limpieza de todo lo que haya previamente?
a) Ellipse b) Delete c) Fill d) Clear
5– ¿Qué función envía un mensaje a la pantalla?
a) Text b) Men c) Clear d) Int text
SOLUCIONARIO: 1(c), 2(d), 3(b), 4(d), 5(a).