Con el Proyecto Scratch de los Viernes buscamos poner en práctica pequeñas ideas de programación en clase. Propuestas de todo tipo que alcanzan ya la vigésima edición en la que trataremos de explicar cómo hacer que una nave dispare.
Esta sencilla propuesta es aplicable a una infinidad de proyectos: una parte de un todo, como puede ser un juego de naves y enemigos marcianos (algo vimos en este otro proyecto), un cañón que dispara o lo que se te ocurra. Como siempre, os proporcionamos la idea base para que luego podáis aplicarla como estiméis oportuno.

Empezaremos con dos objetos

Este proyecto debe iniciarse con dos objetos: el primero, el objeto que contiene la bala (en nuestro caso la nave que incluye el programa, ya sabéis que podéis descargar una imagen y meterla en Scratch) y la bala como tal, que hemos dibujado como objeto nuevo al ser, simplemente, un pequeño rectángulo.
Objetos Scratch Nave
Añade los dos objetos y redimensiónalos al tamaño que consideres oportuno. Luego dale movimiento a la nave y ten en cuenta que la bala debe empezar el juego escondida, ya que sólo se mostrará cuando pulsemos la tecla de disparo (nosotros hemos elegido la tecla espacio).

El movimiento de la nave

Para no hacer un juego 'tipo', vamos a darle un movimiento que sea algo diferente a nuestra nave. Adelante y atrás harán avanzar y retroceder la nave; sin embargo, y aquí está la diferencia respecto de otros juegos, las teclas laterales (izquierda/derecha) harán 'girar' la nave. Esto permitirá avanzar en todas las direcciones. Estos movimientos son parecidos a los del mítico juego arcade 'Asteroids', y nos permitirán aprender ángulos y giros.
Movimiento De Una Nave En Scratch
Como veis el código es muy sencillo, aunque diferente de lo que suele hacerse en Scratch. Por cierto, es posible que tengáis que modificar el disfraz de la nave para "tumbarla", una labor manual que ha de realizarse directamente desde el editor de disfraces.

Disparando, que es gerundio

Que la nave dispare significa que la bala:

  • Nave Que Dispara En ScratchVa a donde está la nave
  • Toma la dirección de la nave (recordad que puede estar "torcida")
  • Se muestra
  • Se mueve hasta que toca uno de los bordes del escenario

Y esto ha de hacerse por siempre, es decir: cada vez que pulsamos la tecla —en nuestro caso— espacio, la bala se dispara. Piénsalo e intenta sacarlo, ya que es un ejercicio genial para implementar un sencillo código. Si necesitas ayuda, en el estudio de EDUCACIÓN 3.0 en la comunidad de Scratch podrás encontrar el proyecto con el código.

Hasta el infinito… y más allá

Como siempre, todo esto es sólo el punto de partida para crear proyectos mucho más grandes y ambiciosos. A continuación os dejamos con unas cuantas ideas para ampliar este sencillo juego:

  • Añade enemigos, claro. Porque un juego de naves sin enemigos, ¿es un juego?
  • La bala sólo se dispara cuando desaparece, ¿se te ocurre cómo hacer que dispare continuamente? Te doy el pié para que continúes investigando: clones.
  • No tienes por qué elegir siempre la misma nave: puedes permitir que sea el jugador el que elija con cuál quedarse. Algo parecido a lo que ya hicimos por aquí
  • ¿Y si tuvieses balas limitadas? Que se recargasen con el tiempo, por ejemplo. Si a esto le unes los 'enemigos' puedes tener un juego muy entretenido.
  • Aunque el fondo sea blanco, puedes modificarlo para poner aquel que prefieras: del espacio, de un planeta... ¡o que vaya cambiando con el tiempo!

El proyecto Scratch de los viernes es la sección en la que, cada primer viernes de mes, proponemos una idea de proyecto y damos algunas pistas para llevarlo a cabo. Hemos hablado de movimientos, figuras geométricas, historias, juegos de preguntas y respuestas, relojes, videojuegos… ¿Quieres saber más? Échale un vistazo a las ideas recopiladas en este enlace o al estudio EDUCACIÓN 3.0 en la comunidad de Scratch donde estamos incluyendo nuestros proyectos de los Viernes. Y por supuesto, ¡cualquier propuesta o sugerencia que tengas será bienvenida!

Sobre el autor
Avatar De Pablo Espeso

Pablo Espeso

Ingeniero Informático, coordinador del Club de Jóvenes Programadores de la Universidad de Valladolid (CJP @ UVa) y apasionado por la docencia de las nuevas tecnologías, de la informática y, en particular, de la programación.