Post on 31-Jan-2018
PROGRAMACIÓN CON SCRATCH
Vamos a aprender a usar Scratch, que es un entorno de programación diseñado para
enseñar a niños y jóvenes los fundamentos de la programación de ordenadores. Es útil para
crear animaciones, cuentos interactivos y juegos sencillos. Se puede usar online, accediendo a:
https://scratch.mit.edu/
Con este tutorial haremos un juego de asteroides y luego se propondrán actividades para
que trabajéis por vuestra cuenta.
1. INTRODUCCIÓN A LA PROGRAMACIÓN
Un programa de ordenador es un conjunto de instrucciones ordenadas que describen cómo
debe trabajar un ordenador. Llamamos programar a la tarea de diseñar y escribir éstas
instrucciones. Las instrucciones van en tres bloques:
Bloque de entrada: indican qué datos se deben captar de los periféricos de entrada
(ratón, teclado, etc.).
Bloque de proceso: describen qué debe hacer el ordenador con esos datos.
Bloque de salida: describen cómo se debe presentar el resultado en los periféricos de
salida (pantalla, altavoces, impresora, etc.).
Los ordenadores sólo entienden las instrucciones si se las damos como una determinada
secuencia de señales eléctricas que entran por los terminales del microprocesador y que se
almacenan en la memoria formando un conjunto de 0 (no entra corriente) y 1 (sí entra
corriente). Esto se conoce como código máquina. Como a las personas nos resulta difícil
escribir las instrucciones en forma de secuencias de 0 y 1, se han creado los entornos de
programación, que permiten escribir programas utilizando un código más parecido al lenguaje
humano, llamado lenguaje de programación.
Existen muchos lenguajes de programación distintos: los lenguajes textuales son muy
potentes (con muy poco código se pueden escribir muchas instrucciones) pero muy difíciles de
usar, por ello se han creado los lenguajes visuales (como Scratch), que trabajan uniendo
bloques con un código asociado.
Antes de programar, hay que describir con detalle qué queremos que haga el programa y
en qué orden. Es lo que se conoce como algoritmo y se representa gráficamente con un
diagrama de flujo.
El ordenador lee las instrucciones de una en una y siguiendo un orden establecido que se
llama flujo y que consiste en la combinación de diferentes estructuras de programación.
Alguna de las más comunes son: secuenciales (las instrucciones van en orden), de repetición
(se repiten algunas instrucciones, puede ser un número de veces determinado o para siempre)
y condicionales (se toma una decisión en función de una condición externa).
Los operadores permiten relacionar datos y puede ser variados: operadores matemáticos,
comparación de datos, operadores lógicos, etc.
2. ACCESO A SCRATCH
Si no está instalado, entramos en la web https://scratch.mit.edu/ y en Ingresar metemos el
usuario (tecnologiafda) y la contraseña (felixdeazara).
3. PROGRAMACIÓN DE UN JUEGO DE ASTEROIDES
Se trata del típico juego en el que por la parte superior aparecen asteroides que se
desplazan hacia abajo; pulsando las teclas fecha derecha y flecha izquierda movemos la nave
lateralmente para esquivarlos y pulsando la barra espaciadora disparamos proyectiles que
destruyen los asteroides y nos hacen sumar puntos. Si un asteroide logra alcanzar a la nave, se
acaba el juego y se muestra un cartel de “GAME OVER”.
Por defecto, en Scratch aparece como objeto un gato, el cual debemos eliminar, para
después colocar nuestros objetos: bola (proyectil), nave espacial y rocas (asteroide).
Además, debemos cambiar el fondo, para que aparezca un cielo estrellado. De la biblioteca
de fondos, elegiremos el fondo Stars. Lo vamos a duplicar y en la copia añadiremos el texto
“GAME OVER”, para que aparezca al acabarse la partida.
Podemos darle al texto las propiedades (color, fuente, tamaño, etc.) que nos apetezca.
También podemos cambiar las propiedades de los objetos: cambiarlos de color, girarlos,
fijar su centro, en algunos casos hay varios tipos (el programa los llama disfraces), etc.
El siguiente paso es añadir un contador de puntos: lo que debemos hacer es añadir una
variable (a la cual llamaremos Puntos) desde el apartado de Datos.
Y ya podemos empezar a programar. Crearemos tres programas distintos: uno para la nave,
otro para los asteroides y otro para los proyectiles. Al ser un lenguaje visual, es muy intuitivo,
los distintos tipos de instrucciones están agrupados por categorías y se diferencian por colores.
Dentro de cada instrucción podemos cambiar algunas variables, como por ejemplo qué tecla
inicia determinada acción, en qué posición colocamos algún objeto, durante cuánto tiempo se
prolonga una acción, etc.
A continuación vas a ver cómo son los códigos de los tres programas y tu tarea es, fijándote
en los COLORES, prestando atención a los DATOS que aparecen en las instrucciones y
siguiendo los CONSEJOS que te voy a dar, crear esos mismos códigos en tu programa. No
olvides asegurarte de que tienes seleccionado el objeto adecuado en cada momento y de que
estás en la pestaña de Programas.
Al colocar un objeto, el programa utiliza un sistema de coordenadas, cuyo origen es el
centro de la pantalla (además, en la esquina inferior derecha de la misma, aparecen las
coordenadas del cursor). En horizontal, el movimiento hacia la derecha es positivo y hacia la
izquierda negativo; mientras que en vertical, hacia arriba es positivo y hacia abajo negativo.
Las funciones condicionales y de repetición se encuentran en Control, las entradas de datos
(como por ejemplo presionar teclas o tocar otros elementos del juego) en Sensores, los
tamaños o los fondos en Apariencia, las posiciones en Movimiento, los puntos en Datos, las
operaciones matemáticas (como mayor que o menor que) en Operadores, etc.
En algunos casos puedes tener que realizar varios programas para un mismo objeto, por
ejemplo cuando queremos que se realicen varias copias del mismo. Y siempre vas a tener que
colocar en todos los objetos la orden de presionar la bandera, porque es lo que da comienzo al
juego.
Ahora, investiga y maneja el programa hasta que logres realizar los programas:
Nave espacial: queremos que se haga pequeña, que se coloque en el centro en la parte
inferior, que se maneje con las flechas y que si toca un asteroide se termine el juego.
Proyectiles: queremos que se hagan más pequeños, que se oculten y aparezcan al
presionar la barra espaciadora, que siempre salgan de la nave y se muevan hacia arriba
(dirección 0º) y que desaparezcan al llegar al borde o al tocar un asteroide (esperando
un poco para que el asteroide lo detecte).
Asteroides: queremos que al iniciar el juego no aparezcan y el contador de puntos se
ponga a cero, que luego aparezcan a intervalos regulares por la parte superior, con
distintos tamaños y en distintas direcciones (aleatoriamente), que, cuando los toque un
proyectil, desaparezcan y sumen un punto y que también desaparezcan al llegar a
determinada altura.
4. ACTIVIDADES
Ahora que ya sabes manejar el programa, te propongo estas actividades para que
practiques:
Mejora el juego de asteroides: puedes añadir una mejora en la apariencia (un cartel al
inicio del juego, cambios estéticos en los objetos, etc.) o una variación del juego
(distintas puntuaciones según la altura a la que se elimine el asteroide, número máximo
de proyectiles, etc.)
Programación de un juego de obstáculos: colocaremos en la pantalla un perro y unos
obstáculos móviles que el perro debe esquivar. Los obstáculos son cuadrados de color
morado que aparecen por la derecha y con las flechas arriba y abajo el perro se mueve
para esquivarlos y sumar puntos. Debes crear un objeto con varios disfraces, en cada
disfraz aparecerán los cuadrados en una posición distinta. El juego se acaba cuando el
perro choca con un obstáculo o llega al final.
Programación de un juego de frontón: la pelota debe bajar de la parte superior con un
ángulo aleatorio, nosotros con las flechas mandaremos a la pala para golpear la pelota y
que no caiga. La pelota rebota cuando toque la pala o los bordes de la pantalla. Debes
añadir un contador de puntos. Cuando la pelota toque la parte inferior de la pantalla se
acabará la partida y aparecerá “Game over”.
Puedes incluir las VARIACIONES que se te ocurran en los juegos propuestos, siempre y
cuando el programa funcione correctamente. Por ejemplo, manejar con flechas en lugar
de con ratón, cambiar velocidades, etc.
5. SOLUCIONES
Cartel: modificar el comienzo
del programa de la nave y
añadir “esperar 2 segundos”
en los otros dos programas:
Cambio en la nave espacial: hacer
que la nave espacial se oculte y
espere 2 segundos antes de aparecer
(el resto de su código queda igual
excepto el fondo de estrellas).
Además, añadir el objeto de la nave
espacial “aterrizada” y crearle el
programa:
Número máximo de proyectiles: creamos una nueva variable llamada Proyectiles y
modificamos el programa de los proyectiles:
Variación de puntuación: añadimos condicionales al programa de los asteroides
indicando la posición:
Juego de obstáculos: para crear los dibujos con los
obstáculos le damos a Dibujar nuevo objeto.
El perro (movimiento, contador de puntos y fin de partida)
Los obstáculos
Frontón: programamos la pelota y la pala:
La pala (movimiento)
La pelota (movimiento, fin de partida cuando toque la base y que rebote al tocar la pala)