Tutorial 3: Scratch te da la hora

Scratch Scratch

¡Bienvenid@s a nuestro tercer tutorial!

Si, es así. Terco como soy me embarco en la escritura de palabras cuyo destino será viajar allende los mares tomando forma de un nuevo mensaje en una botella (un saludo a Sting, Copeland y Summers).
Y es que esto de escribir tutoriales quizás pueda asociarse metafóricamente a aquel recurso único al que podían apelar los naúfragos de tiempos ya idos: uno confía en que alguien va a recibir estas palabras y hacer algo con ellas… aunque más no sea retransmitirlas.
En caso que hayas llegado a Scratch CodeLab por primera vez —responsabilizo a Google, Bing y especímenes similares por esta situación— te comento que en los 2 Tutoriales previos ya fueron cubiertos muchos de los recursos teóricos y prácticos que te serán útiles para seguir esta nueva propuesta: cada vez que sea necesario te dejaremos un link hacia aquellas páginas donde fueron tratados estos temas.
Y si sos de los que seguiste con atención los tutoriales previos —o si tenés cierto dominio del entorno y conocimientos de programación— confío en que ya estés en condiciones de seguir este tercer tutorial sin mayores tropiezos.
Me prometí a mi mismo tratar de ser más sintético en mis desarrollos y limitar mi verborragia escrita (?). Veamos que resulta…

Subject: simulando un reloj con Scratch

Este es el asunto a tratar. En nuestro caso trataremos de simular el funcionamiento de un reloj analógico (si, ese de las agujitas).
¿Mis motivos para decidir la elaboración de un proyecto de estas características? Básicamente porque en el mismo se presenta una meta primaria bien conocida por todos (creo)… es el tipo de desafío que cualquier docente bien podría proponer a un grupo de alumnos sin dar mayores pistas sobre la cuestión.
Por esta misma razón es que pueden elucubrarse diferentes soluciones al problema propuesto… como siempre aclaramos en Scratch CodeLab el camino que aquí transitaremos es uno de tantos posibles: lo importante es llegar a dar alguna respuesta funcionalmente aceptable a las metas primarias enunciadas.
Si sos de los que te gustan los desafíos podrías ir pensando de antemano algunas cuestiones: cuáles y cuántos objetos deberían ser mínimamente necesarios, si el movimiento de los mismos puede o debe ser interdependiente, si conviene darle la posibilidad al usuario del proyecto de ver un funcionamiento del reloj no sólo en tiempo real sino también en forma "acelerada" (se entiende aunque no sea la palabra correcta)… y por último otra cuestión muy importante: ¿cómo podemos hacer para ponerlo en hora?
Pensar todo esto al mismo tiempo puede llegar a ser algo abrumador: por suerte llega en nuestro auxilio aquel lema que viene acompañándonos desde el 1er Tutorial, una idea que todo buen programador no debe perder nunca de vista…

"Siempre ir de lo simple a lo complejo"

No es justamente "descubrir la pólvora" como idea, y hasta puede parecernos algo trivial el sólo plantearlo. Pero al momento de programar sí suele ser subestimada la importancia de enfocarnos primeramente en conseguir el funcionamiento de lo más central del proyecto, para sólo después avanzar con pie firme sobre ulteriores complejidades. En este modo de avanzar a veces suele ser necesario reelaborar en parte lo ya programado, pero lo sustancial suele —por suerte— permanecer invariable.
De cualquier manera es bueno destacar que no existe algo así como una "receta única" para llegar a una solución: cada tipo de proyecto en Scratch presenta sus peculiaridades, y encontrar una estrategia que nos permita dirigirnos de lo simple a lo complejo dependerá en consecuencia de cada caso en particular.
Y nuestro caso en particular es la simulación de un reloj analógico. Nos concentraremos en primera instancia en analizar y generar su "mecánica de funcionamiento", inspirándonos en la manera en que lo hacen los relojes reales. Sólo una vez conseguido esto pasaremos a analizar el proceso de puesta en hora, y daremos dos propuestas de solución alternativas (de muy diferentes grados de dificultad):
  • en la más simple usaremos los monitores de 2 variables para darle al usuario la posibilidad de colocar la hora y minuto en cuestión.
  • en la más compleja el usuario deberá ingresar por teclado —en formato HH:MM— la puesta en hora que él especifique (lo que requerirá que programemos un algoritmo de validación donde se necesitará del uso de listas, te voy anticipando…).

Requisitos para seguir este tutorial

Como ya dijimos, buena parte de los temas que son necesarios dominar para avanzar en este proyecto ya fueron cubiertos con la suficiente profundidad en los 2 Tutoriales previos, por lo que es aconsejable si sos nuev@ en Scratch que les dés una mirada (aunque más no sea a los primeros pasos de los mismos).
Existen otras competencias básicas que serán necesarias en algún caso, deseables en otros. Vamos a enumerar las más sustanciales:
  • Si pensás usar la versión 1.4 de Scratch deberás tenerlo instalado y listo para correr. También podés optar por usar la versión 2.0, pero posiblemente vas a encontrar mayores dificultades en lo procedimental (mucha explicación de procedimientos que encuentres en estos tutoriales se refieren específicamente a la versión 1.4, aunque te dejan buena idea de lo que tendrás que conseguir).
  • Poseer algunas aptitudes básicas a la hora de usar una computadora (palabras como arrastrar y soltar, seleccionar, doble clic, etc. te deberían significar algo).
  • Tener nociones sobre magnitudes angulares es muy importante, ya que los objetos primarios en nuestro proyecto (las agujas del reloj) tendrán básicamente un movimiento de giro. Un chico de 10 años ya debe conocer algo al respecto, y de hecho el uso de Scratch debería posibilitarle de manera lúdica experimentar con estos conceptos, como también con todo lo que involucre el manejo de coordenadas en el plano.
  • Es posible que el acompañamiento "de alguien más grande" ayude y mucho a la hora de interpretar el tutorial: quizás la falta de costumbre en utilizar este tipo de guías pueda dificultar su aprovechamiento por parte de los más pequeños. Lamentablemente el uso de un lenguaje "más simple" redunda en repeticiones que terminan tornando confuso el contenido… de cualquier manera (y perdón por simplificar), toda palabra va a ser difícil si nunca se la usa.
  • Ser paciente, y tener ganas de aprender. Punto.
Creo que lo básico está dicho. Ya podemos empezar a trabajar sobre nuestro primer paso de este tercer tutorial…
Última actualización: Marzo 1, 2014

No hay comentarios.:

Publicar un comentario

© Scratch CodeLab | D153ñ0 b454d0 3n l4 pl4n71ll4 SimpleRWD d3 Oloblogger