(Scratch) Tutorial: Jugando al Baloncesto
¡Hoy vamos a aprender a Jugar al Baloncesto! Que digo aprender… ¡hoy vamos a enseñar al ordenador a Jugar al Baloncesto!
Pero como decimos siempre:
¡Vayamos por partes!
El juego que vamos a implementar funciona así:
Utilizando las teclas de las flechas podremos controlar a la jugadora, para que vaya a por la pelota. Cuando tiene la pelota en la mano utilizamos la tecla <espacio> para lanzar a canasta. Si la pelota pasa por el centro del aro anotamos un punto.
¿Vamos allá?
Contenido
- Crear el Escenario
- La Niña: busca la pelota y lanza a canasta.
- Buscando la pelota
- La Pelota:
- Botando: el movimiento
- Una parábola: lanzamiento a canasta
- La Canasta: dibujando un detector
- Anotando puntos: una variable
Creando el Escenario
Como siempre lo primero que vamos a hacer es escoger un fondo de pantalla para nuestro juego de Baloncesto. En la biblioteca de fondos de Scratch podremos encontrar una cancha de baloncesto.
La Niña: busca la pelota y lanza a canasta.
Desde la biblioteca de Nuevos Objetos, añadimos a nuestra jugadora de baloncesto Girl3. En el programa de nuestra jugadora de baloncesto implementaremos la siguientes funcionalidades:
- Responde a las <flechas del teclado> para moverse por la cancha
- Cuando <tocando> el objeto Pelota envía el mensaje <botar>
- Si esta <tocando> el objeto Pelota y se pulsa la <tecla espacio> envía el mensaje <lanzar>.
Estos mensajes <botar> y <lanzar> son recibidos por los demás objetos, en concreto el objeto Pelota responderá con el movimiento de botar o el de lanzar.
Variable <botando>
Para evitar enviar constantemente el mensaje <botar> cada ver que se toca la pelota, usaremos una variable para recordar si ya estamos botando o no estamos botando la pelota:
Girl3: Programa Completo
En nuestro programa como siempre inicializamos la posición y variables del objeto, para a continuación <por siempre> escuchar los eventos que nos interesan (flechas del teclado, tecla espaciadora, tocando la pelota…)
La Pelota
Posición inicial
Para empezar vamos a colocar la pelota en una posición al azar dentro del la cancha, para ello utilizaremos el Operador <numero al azar>
Botando: El Movimiento
Existen múltiples estrategias para implementar el movimiento de botar la pelota, se trataría de:
- Posicionar la Pelota en la posición <x,y> de la mano de la jugadora.
- Deslizar la Pelota a la posición <x,y> delante del pie de la jugadora.
Podemos calcular la posición de la mano o del pie utilizando la función <posición x/y de Girl3> en la sección de Sensores, que correspondería a la posición del centro del objeto y sumarle o restarle la cantidad necesaria para posición que buscamos.
Por simplicidad en este tutorial hemos dejado que la pelota siga la mano de la jugadora, sin implementar el movimiento de bote.
Una parábola: lanzamiento a canasta
Si te fijas, cuando lanzamos una pelota a canasta, la velocidad vertical del objeto no es siempre la misma:
- Mientras la pelota va subiendo, la velocidad vertical es cada vez menor, es decir va frenando hasta que llega un momento en que se queda parada y empieza a bajar.
- Mientras la pelota baja cada vez lo hace a mayor velocidad, es decir la velocidad vertical es cada vez mayor.
Para implementar esa velocidad cambiante vamos a usar una variable <velocidad de caída> cuyo valor que iremos cambiando según avanza el movimiento, y usaremos el valor cambiante de dicha variable para mover la pelota verticalmente.
Para hacer el juego un poco mas interesante hemos añadido una pequeña variación en la que nuestra jugadora Girl3 lanza la pelota de cada vez. Puedes ver este factor aleatorio en las instrucciones <numero al azar entre _ y _>
Creamos la variable:
La Pelota: Código Completo
La Canasta: dibujando un detector
Para implementar la canasta vamos a utilizar un pequeño truco o efecto visual: dibujaremos en un nuevo objeto un solo punto minúsculo, que colocaremos en el centro del aro de la canasta. Podremos usar ahora este objeto para detectar cuando la pelota pasa por el centro del aro de la canasta.
Anotando puntos: una variable
En este nuevo objeto Canasta, cuando detectemos que esta tocando el objeto Pelota, usaremos una variable, que además mostraremos en el escenario, para incrementar la puntuación:
La Canasta: Código Completo
Añadiendo mejoras
Este tutorial es solo una pequeña introducción a la creación de un juego de baloncesto, que puede ser mejorado de muchas maneras:
- Evitar que la jugadora se desplace fuera de la cancha
- Implementar el movimiento de bote
- Efectuar el lanzamiento solo cuando la jugadora Girl3 este <tocando> la Pelota
- Crear un objeto tablero en el cual el objeto Pelota rebote
- Evitar que se anoten canastas cuando el balón entra en el aro desde la parte inferior
- Conseguir que al lanzar el balón, este caiga en la misma horizontal que los pies de la jugadora, en lugar de continuar hasta el borde inferior del escenario
- Utilizar el <efecto desvanecer>, se encuentra en Apariencia, para “esconder” el detector de la canasta
- …
¡Ahora es tu turno!
¡¡Hasta el próximo tutorial!!
Latest posts by Ivan García Sainz-Aja (see all)
- [Libro] Mindset: La Actitud del Éxito de Carol Dweck - June 20, 2017
- Nuevo Grupo de Desarrollo Personal a través del Entrenamiento Mental - May 19, 2017
- 9 Actitudes Mindfulness para una vida mas plena y consciente… - May 16, 2017
Leave a Reply
Want to join the discussion?Feel free to contribute!