MÓDULO 3. PATRONES Y EJEMPLOS. PROGRAMACIÓN DE APLICACIONES Y
JUEGOS.
(Pincha en los enlaces para acceder al canal de Youtube y ver
los
videos)
|
3.1 INTRODUCCIÓN
En este módulo vamos a:
- Analizar ejemplos de programas que pueden emplearse en
juegos y aplicaciones.
- Utilizarlos para nuestros propios juegos o modificarlos
para incluir mejoras o adaptarlos a nuestras necesidades.
|
3.2 SIMULACIÓN DE MÁQUINAS "CLICAR Y RESPONDER": EL
PARQUÍMETRO
- Observa el video y estudia el programa utilizado.
3. 2. SIMULACIÓN DE MÁQUINAS "CLICAR Y
RESPONDER": EL PARQUÍMETRO
(Ejercicios):
- 3-2-A. Crea el programa del
parquímetro tal como se explica en el video. Antes debes conseguir las
imágenes necesarias para utilizarlas en Scratch.
- 3-2-B. Modifica el programa
del
parquímetro añadiendo algunas de las siguientes mejoras, u
otras que se te ocurran:
- Que las monedas se sumen sólo
cuando se desplacen a algún lugar: una ranura, una caja...
dibujadas en algún lugar de la pantalla.
- Que el diseño de la pantalla sea
distinta:
- Cambia los rótulos por
otros: Dinero, Cambiar Tiempo, Calcular cambio.
- Los botones + y -
deben aparecer bajo el rótulo 'Cambiar Tiempo'.
- Añade un botón junto al rótulo
'Calcular cambio'.
- Sólo cuando toquemos el botón
'Calcular cambio', se mostrará el resultado del cambio.
- Cambia el programa para que no
se pueda aumentar sin
límite el tiempo de parking, sino que esté limitado por la suma
de monedas introducidas.
- ...
|
3.3 DIBUJO DE FUNCIONES GRÁFICAS: "ECUACIÓN DE SEGUNDO GRADO"
- Observa el video y realiza los ejercicios siguientes:
3. 3. DIBUJO DE FUNCIONES GRÁFICAS:
"ECUACIÓN DE SEGUNDO GRADO"
(Ejercicios):
- 3-3-A. Realiza en Scratch el mismo
programa del Video, que dibuje una ecuación de segundo grado, del tipo:
y = ax2 + bx + c
Cambia el programa para
incorporar algunas de las siguientes mejoras:
- 3-3-B. Que en el fondo aparezca la
expresión matemática de la ecuación que se va a representar (y = ax2 + bx + c)
- 3-3-C.Que conforme se dibuja, vaya
apareciendo una lista con los valores que se van representando.
- 3-3-D. Que la ecuación sea otra
distinta.
- ...
|
3.4 CLONAR, FUNCIONES Y SPRITES. "EL JUEGO DE LA VIDA"
- DE JOHN CONWAY
- Observa el video del programa tratando de entender en qué
consiste el juego.
- El programa nos empieza a introducir en los conceptos de:
- 'sprite': es cada uno de los 'personajes'
que
intervienen en el juego.
- 'clon': es un duplicado de un sprite, al que se le
puede
dar apariencia y comportamiento distinto al sprite.
- 'función': en este caso se refiere al comportamiento
de
cada 'clon' a lo largo del juego.
- Como el programa es muy complejo, no lo vamos a reproducir.
Descargaremos un programa similar desde la dirección:
3. 4. CLONAR, FUNCIONES Y SPRITES. "EL
JUEGO DE LA VIDA" - DE JOHN CONWAY
(Ejercicios):
- Analiza el programa descargado y
compara su funcionamiento con el del video. Como verás hay varias
diferencias. Modifica el programa para que su apariencia sea similar a
la del video:
- 3-4-A. Haz que aparezcan en la
pantalla las listas "Juego actual" y "Juego siguiente"
- 3-4-B. ¿De que color se
representa un clon vivo? ¿Y un clon muerto? Averígualo y cambia
el programa para que se usen los colores del video.
- Ampliación (actividades de mayor dificultad):
- 3-4-C. Según el video, para
que en el "juego siguiente" un clon esté vivo debe ocurrir:
- Que, estando
vivo en el "juego actual", tenga 2 vecinos cercanos.
- O que, estando
muerto en el "juego actual", tenga 3 vecinos cercanos.
- ¿Es esto así en el programa
que hemos descargado? Si no lo es, cámbialo para que sea como en el
video.
- 3-4-D. El mapa se borra cada vez
que vamos a generar uno nuevo. ¿Podrías conseguir
que no se borrara, de modo que el nuevo se vaya dibujando
encima?
Otra versión. Accede al programa original que se usa en el
video:
- 3-4-E. Mejora el programa
cambiando el botón verde por otro que muestre el rótulo
"SIGUIENTE"
- 3-4-F. Ampliación: Elimina el
botón "SIGUIENTE" y trata de conseguir que, transcurrido un
tiempo, el juego se renueve automáticamente, mostrando un contador
que indique el nivel de juego en que estamos.
|
3.5 SIMULANDO LA GRAVEDAD Y LOS MRUA. "JUEGOS DE PLATAFORMAS"
En este apartado aprenderemos a simular el efecto de la
gravedad y el de aceleración o frenado. Los
dos son Movimientos Rectilíneos Uniformemente Acelerados (M.R.U.A.), y
afectan a la aceleración de un personaje u objeto. Con
estos conocimientos crearemos un juego de plataformas.
3. 5. SIMULANDO LA GRAVEDAD Y LOS
M.R.U.A. (Ejercicios):
- 3-5-A. Dibuja una pantalla con
plataformas y simula la gravedad como en el ejemplo.
- 3-5-B. Simula también el
efecto de aceleración y desaceleración, tal y como se ha visto
en el video pero haz que el efecto se produzca hacia la derecha y
hacia la izquierda.
- 3-5-C. Añade también un
movimiento de salto hacia arriba que se produzca al pulsar la
tecla que elijas.
- 3-5-D. Ampliación:
Trata de cambiar el efecto de gravedad por otro que simule una caída
con aceleración.
|
3.6 LANZAR PROYECTILES Y COLISIONES. JUEGO DE 'INVASORES DEL
ESPACIO'
Este ejemplo nos va a servir para el lanzamiento de objetos.
Es similar a lo que se puede ver en los juegos de "marcianos"
3. 6. LANZAR PROYETILES Y COLISIONES.
JUEGO DE 'INVASORES DEL ESPACIO'. (Ejercicios):
- 3-6-A. Crea un personaje
con movimiento mediante las teclas del cursor. Al pulsar el
ratón, este personaje lanzará un proyectil que desaparecerá al
llegar al borde de la pantalla, como en el ejemplo.
- 3-6-B. Dibuja ciertos elementos
en la pantalla, de modo que cuando el proyectil los toque, se
sumen puntos a un contador.
- 3-6-C. Añade otros objetos
al juego. Si el proyectil los toca deben desaparecer y añadirse su
nombre a una lista, además de sumar puntos.
- 3-6-D. Ampliación:
Cambia los objetos por personajes con movimiento aleatorio. Si
el proyectil los toca deben desaparecer y añadirse su nombre a una
lista, sumando puntos. Pero si estos personajes tocan al
protegonista, el juego terminará, mostrándose un mensaje de FIN.
|
3.7 JUEGO DE 'MOLEMASH' USANDO VIDEO Y SONIDO
Aprenderás a usar la web-cam y el micrófono
para interactuar con un juego.
3. 7. JUEGO DE 'MOLEMASH' USANDO VIDEO Y
SONIDO. (Ejercicios):
- 3-7-A. Crea el mismo programa
del ejemplo, de modo que, usando una web-cam, hagamos desaparecer
un personaje moviendo nuestra mano tras él hagamos. El personaje
aparecerá en otro lugar aleatoriamente. Si tienes un micrófono,
haz que el programa se detenga mediante un sonido, mostrando un
mensaje de FIN.
- 3-7-B. Añade un contador
que sume puntos cada vez que hacemos desaparecer al personaje.
- 3-7-C. Mejora el programa
mostrando un 'reloj' que vaya contando hacia atrás. Al terminar
la cuenta se detendrá el programa, apareciendo un mensaje
con el total de puntos conseguidos.
|
3.8 SCROLL HORIZONTAL
Este truco es útil para realizar juegos en los que el
personaje está fijo y las pantallas van pasando por detrás
3. 8. SCROLL. (Ejercicios):
- 3-8-A. Repite el programa del
ejemplo con un personaje y 3 fondos que se van desplazando
horizontalmente conforme pulsamos la tecla derecha o izquierda. El personaje
debe cambiar de orientación (derecha /izquierda) pero sin moverse
de la posición central.
- 3-8-B. Mejora el programa
anterior creando un fondo continuo, dividido en 3 partes, para
que el personaje se mueva sobre él: Por Ej. Una carretera, una
ciudad, un paisaje...
- 3-8-C. Completa el juego
añadiendo un scroll vertical. De esta forma el personaje se
moverá en todas direcciones (derecha /izquierda /arriba /abajo).
Tendrás que crear 9 pantallas que tengan continuidad entre sí.
Puedes elegir el tema que quieras: Un circuito de carreras, un
mapa, el callejero de una ciudad, un camino a través de un paisaje, un
laberinto...
AMPLIACIÓN: INCLUYE VARIAS DE LAS
SIGUIENTES MEJORAS:
- 3-8-D. Ampliación:
Mejora el juego haciendo que si el personaje se sale del camino,
pierda puntos/vida, que se mostrará en un contador. Si se
acaban los puntos, terminará el juego, mostrándose con un mensaje
apropiado.
- 3-8-E. Ampliación: Añade que,
si el personaje se sale del camino, además de perder puntos,
deba empezar de nuevo el recorrido.
- 3-8-F. Ampliación: Incluye 'objetos
amigos' que, al ser tocados por el personaje, desaparezcan
y nos aumenten los puntos. Otros serán 'objetos enemigos' y
harán lo contrario.
- 3-8-G. Ampliación: Añade en
pantalla un 'reloj' de cuenta atrás. Si se acaba el tiempo terminará
el juego.
- 3-8-H. Ampliación: Trata de
añadir el efecto de la aceleración/frenado (MRUA) en todas las
direcciones.
- 3-8-I. Ampliación: Añade 'obstáculos'
que haya que esquivar para poder avanzar.
- 3-8-J. Ampliación: El
personaje podrá lanzar proyectiles que eliminen a los enemigos.
- 3-8-K. Ampliación: Al completar
el recorrido (por ejemplo, al llegar a una zona de 'meta') se acabará
el juego y se sumará a los puntos obtenidos el tiempo que faltaba,
mostrando en un mensaje la puntuación total.
|
3.9 INVITADO: 'BOMBERMAN'CON EDGAR LLORENTE
Vamos a analizar un juego más complejo y tratar de entender
cómo se consiguen ciertos efectos:
- Usar un 'sprite' cuya apariencia va cambiando
produciendo
un efecto de movimiento ('sprite' = 'personaje').
- Utilizar un 'mapa' para definir la posición de los
elementos que aparecen en la pantalla.
- Cada elemento fijo de la pantalla es tratado como
un 'azulejo' o
'baldosa' (en inglés se denomina 'tile') con una
apariencia y
comportamiento distintos. Esto se consigue mediante la creación de
'clones' que se sitúan en las posiciones que indica el 'mapa',
quedando
así la pantalla como un embaldosado o alicatado (un conjunto ordenado
de
'tiles').
3. 9. INVITADO: 'BOMBERMAN' CON EDGAR
LLORENTE. (Ejercicios):
- Descarga el programa para hacer
los ejercicios:
- 3-9-A. Cambia el diseño
del personaje principal en todos sus movimientos: Los 3 sprites
orientados al Norte, al Sur, al Este y al Oeste.
- 3-9-B. Trata de averiguar cómo
se define el mapa y, cuando lo sepas, cambia la disposición de
los distintos elementos ('tiles' o 'baldosas'). Observa cómo cambia
el funcionamiento del juego según hayamos situado los ostáculos,
espacios verdes, paredes...
- 3-9-C. Como observarás, hay
otro personaje que no interviene en el juego. Crea el programa
necesario para que un segundo jugador pueda controlar a ese
personaje mediante otras teclas distintas, con la posibilidad de
poner bombas también.
El juego parece no tener objetivo final:
¿Cuándo se gana o se pierde? Vamos a mejorar el juego incorporando las
siguientes mejoras respecto el final:
- 3-9-D. Como primera
opción: El juego acabará cuando los dos jugadores se encuentren,
apareciendo entonces un mensaje similar a "¡Enhorabuena!".
- 3-9-E. Observa que, si el
protagonista muere más de 3 veces el juego continúa sin que pase nada.
Haz que cuando el protagonista pierda la ultima vida el juego
termine.
- 3-9-F. Si jugamos con 2
jugadores, entonces será necesario que los dos protagonistas
pierdan todas sus vidas para que el juego termine, desapareciendo el
jugador que se quede sin vidas.
- 3-9-G. Al desaparecer un
jugador no podemos hacer que se encuentren para que acabe el juego. Por
tanto cambiaremos el objetivo por esta segunda opción de final: El
juego acabará cuando un jugador llegue a una casilla central de
distinto color. Para conseguir esto tenemos que hacer varias cosas:
- Escoge uno de los 'Tile'
(azulejos) que no se use (por ejemplo el 3) y cambia su
diseño por otro más llamativo.
- Cambia el mapa para que el 'Tile'
central sea el escogido para acabar el juego.
- Modifica el programa para que cuando
alguno de los jugadores alcance esa casilla, el juego termine,
mostrando un mensaje que indique quién es el ganador.
- 3-9-H. Añade un cronómetro
que cuente hacia atrás. Si el cronómetro termina de contar antes de
que los jugadores se encuentren se acabará el juego, apareciendo el
mensaje "¡Tiempo agotado!".
- 3-9-I. Haz que, al principio
del juego, el programa pregunte el nombre de cada jugador.
Cuando, al final del juego, se proclame al vencedor, aparerá el mensaje
"El ganador es: ..." completándose automáticamente con el nombre del jugador que se había introducido
al principio.
- 3-9-J. Como verás, hay dos
sprites más. Modifica el programa para que aparezcan haciendo el
papel de 2 enemigos,
que se muevan aleatoriamente, según los obstáculos que encuentren, de
modo que si tocan a algún protagonista le quitan una vida.
- 3-9-K. ... Puedes hacer otras
mejoras que creas interesantes, como hacer que los enemigos
sigan a alguno de los protagonistas (o al que esté más cerca).
|
3.10 FINALIZACIÓN:
'ESCAPE-ROOM'
Utiliza los recursos que necesites para crear una aventura gráfica del
tipo "Escape-room" o "Juego de escape".
(Esta idea está obtenida del trabajo de Fin de
Máster de Mercedes Terrones Aragón para la Universidad Politécnica de
Madrid que aparece desarrollado en el documento Proyecto_RoomScapeScratch y el Concurso Room Escape Scratch de Escoles Minguella.
3.10. CREA UN 'ESCAPE-ROOM'
(EJERCICIO RESUMEN NÚMERO 3-10):
- Crea un juego tipo 'Escape Room' con
las características siguientes:
- Debe tener al menos 4 pantallas.
- En cada pantalla habrá al menos 4
objetos con los que se interactúa.
- El juego tendrá un tema y
transcurrirá en un lugar
concreto. Es decir, habrá una historia
que le dé sentido y los escenarios
se corresponderán con la historia
- Tiene que habe un objetivo, un
principio y un final.
- Se valorará:
- La variedad
en la interacción con
los objetos
- La originalidad
y creatividad.
- Se presentará
a un grupo de
compañeros, que harán una valoración que contará para la calificación.
- Observa el siguiente ejemplo, que
puedes usar de modelo para una fase de tu juego, modificando
objetos, personajes y escenario:
- La rúbrica que
se utilizará para la valoracion será la siguiente:
- Interacción
entre objetos:
- 0
puntos: No hay 4 objetos o no hay interacción con los 4 objetos
- 15
puntos: El uso de los objetos es directo. No hay objetos que se
combinen entre sí.
- 20
puntos: Hay que seleccionar los objetos para poder usarlos. No
hay objetos que se combinen entre sí.
- 25
puntos: El uso de los objetos requiere una selección previa. Hay
objetos que se combinan entre sí.
- Originalidad:
- 0
puntos: No se entrega.
- 15
puntos: La idea de historia es como el ejemplo o como la de otro
grupo.
- 20
puntos: Algunas pantallas ofrecen efectos o forma de interactuar
originales o la historia es distinta al resto.
- 25
puntos: Tanto la la historia como la forma de interactuar y
efectos son originales.
- Creatividad:
- 0
puntos: No se entrega.
- 15
puntos: Los fondos y objetos
utilizados no son de creación propia.
- 20
puntos: Hay algunos objetos o algunos fondos que no son de
creación propia
- 25
puntos: Todos los objetos y fondos son de creación propia.
- Pantallas:
- 0
puntos: No se entrega o sólo hay una pantalla.
- 15
puntos: Hay dos pantallas en el juego
- 20
puntos: Hay tres pantallas en el juego
- 25
puntos: Hay cuatro o más pantallas.
- Objetos:
- 0
puntos: En alguna pantalla no hay objetos que interaccionen, o
no los hay en ninguna.
- 15
puntos: Hay uno o dos objetos que interaccionan por pantalla
- 20
puntos: Hay tres objetos por pantalla con efeectos de interacción
- 25
puntos: Hay cuatro o más objetos que pueden interactuar durante
el juego.
- La
historia:
- 0
puntos: No hay ningún elemento de los que se piden para la
historia (ambientación coherente,
objetivo, principio o final) o sólo hay uno de ellos.
- 15
puntos: Faltan dos elementos de la historia (ambientación
coherente, objetivo, principio o final)
- 20
puntos: No hay ambientación coherente clara de la historia o
falta algún detalle de la misma (objetivo, principio o final).
- 25
puntos: Hay un objetivo concreto, principio y final. La historia
está ambientada adecuadamente de forma coherente.
- El trabajo del
grupo: (Buen comportamiento de los componentes,
buen ambiente del grupo, trabajo equilibrado de todos y entrega a tiempo)
- 0
puntos: No se ha entregado o se ha fallado en tres de los
requisitos anteriores.
- 15
puntos: No han cumplido con dos de las expectativas anteriores
- 20
puntos: No han cumplido con alguna
de las expectativas anteriores
- 25
puntos: Buen comportamiento, buen ambiente del grupo, trabajo
equilibrado de los componentes y entrega a tiempo.
- Los 3 más
valorados en la presentación: (el resto, no suman más puntos)
- 15
puntos: El tercer trabajo más valorado
- 20
puntos: El segundo trabajo más
valorado.
- 25
puntos: El trabajo más valorado
- En total puede
obtenerse hasta 200 puntos, de modo que la NOTA se obtiene dividiendo
los puntos totales entre 20.
|
3.11 FINALIZACIÓN: 'JUEGO
LIBRE'
Con todo lo aprendido hasta ahora, trata de crear un juego sencillo.
3.11. CREA UN JUEGO
LIBRE (EJERCICIO RESUMEN NÚMERO 3-11):
- Crea un juego con las características
que desees.
- Puedes
tratar de reproducir juegos antiguos de ordenador, consolas,
internet... por ejemplo los típicos ping-pong, Arkanoid, Invasores del
espacio, Carreras, Laberintos, SuperMario...
- Prueba juegos de otros usuarios de Scratch e investiga
cómo están hechos mediante la opción "Ver dentro". Esa es la
gran ventaja de hacerse una cuenta, que podemos compartir nuestros
juegos y aprender de los que crean los demás.
- No es necesario hacerlo difícil,
empieza por algo sencillo que luego puede mejorarse. Los juegos que hoy
conocemos son una evolución de los que había antiguamente, que tenían
sprites muy básicos y pantallas muy sencillas.
- Tu imaginación y tus ganas te harán
progresar, adquirir más soltura y conocimientos.
- Como material de ayuda, estudia y
practica los tutoriales que se presentan en las tarjetas que se
presentan más abajo, en la sección denominada TUTORIALES, TARJETAS Y
RECURSOS OFICIALES DE SCRATCH.
|