Exercici: Pong

From Edutec Wiki
Revision as of 08:52, 1 June 2016 by Jogaye (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Other languages:
català • ‎español


Introducción

Lo primero que haremos es partir de cero, es decir, elegiremos la opción 'Nuevo' del menú 'Archivo'. Ahora tenemos el gatito en el escenario y lo sacaremos. Ya sabéis cómo hacerlo: escogemos las tijeras y eliminamos el gatito. La idea es quedarnos sin nada! Vamos a construir los objetos necesarios para el programa. Primero dibujaremos un pelota. En el menú nuevo objeto hacemos clic sobre el pincel y se abrirá la herramienta de dibujo

400px|centro

Seleccionamos la herramienta circulo Archivo:Seleccionherramientacirculo.pngy elegimos el circulo relleno Archivo:Pong03.png. Hacemos un circulo ni demasiado pequeño ni demasiado grande(con la tecla mayúsculas presionada conseguimos dibujar un circulo y no una elipse) Ahora tenemos un objeto nuevo con el que podemos hacer cosas,le ponemos de nombre "Pelota".


Moviendo la pelota

Primero de todo, será necesario que volvamos al lienzo de programación, podemos hacerlo pulsando el botón de Programas:

centro

¿Qué podemos hacer? Para empezar podemos iniciar el programa al pulsar la banderita verde.

centro

Colocamos este código en el escenario, Escribamos el código de la "Pelota". Ya sabemos cómo hacerlo, ¿verdad? Ya conocemos las instrucciones 'muévete', 'rebota al tocar un borde', la estructura iterativa 'para siempre' y la instrucción que detecta si hemos enviado un mensaje. Combinando todo esto podemos hacer el programita sencillo

centro

Ahora presionemos la bandera verde y pongamos el programa en funcionamiento. Comprobemos como funciona el rebote.

Vamos a añadir un nuevo objeto para detectar cuando la pelota toca la parte inferior del escenario.

Cada vez que pulsemos la bandera verde la pelota ira a la parte superior central del escenario (0,160) y se moverá en dirección hacia abajo (180). Si dejamos el código de esta forma la pelota siempre tendría el mismo movimiento, vamos a hacer que la dirección sea distinta cada vez, con la siguiente instrucción.

centro


La paleta

Ya tenemos la pelota en movimiento, construyamos un nuevo objeto para interactuar con la pelota, A este objeto le vamos a llamar "Paleta"

centro

En el editor de dibujos dibujamos un rectángulo, procurando que el centro quede bien colocado

400px|centro

A este objeto le añadimos el siguiente código.

centro

Con este código conseguimos que el objeto "Paleta" siga el movimiento en "x" del ratón. Ahora tenemos que conseguir que la paleta y la pelota interactuen. Para ello modificaremos el código de la paleta de la siguiente forma.

centro


Más rebotes

Escribamos el código de rebotar.

centro


La línea de fondo

Comprobemos como funciona el rebote. Vamos a añadir un nuevo objeto, que nos servirá para detectar cuando la pelota toca la linea de fondo y por tanto perdemos el punto. Vamos a crear nuevo objeto, abrimos el editor de dibujo y dibujamos un objeto como se muestra en la siguiente imagen y le llamamos fondo.

400px|centro

Modifiquemos el código de la "Pelota" para que esta interactue con el "Fondo"

centro

Seria conveniente que pudiésemos contar las veces que la pelota toca el fondo. Para ello creamos una variable a la que llamamos "marcador".

centro

Cada vez que la "Pelota" toca la linea de fondo incrementamos esta variable en uno.

centro

Cuando iniciemos la partida tendremos que poner esta variable a cero. Para ello escribimos el siguiente código en el escenario. Hemos construido un nuevo mensaje "inicia" que utilizaremos mas adelante para fijar la posición inicial de todos los objetos

centro


Perder la partida

Hagamos que la partida dure un numero determinado de puntos. Cambiemos el bucle "por siempre" del código de la pelota por un "repetir hasta que ..." con la condición deseada.

centro

Añadamos un mensaje (enviar "fin") al código para activar las condiciones de final de partida

centro

Dibujemos un nuevo escenario para el fin de partida.

400px|centro

Modifiquemos el código del escenario para que responda a los mensajes "inicia" y "fin".

centro

Para terminar añadamos los comportamientos "inicia" y "fin" a los otros objetos.

Para la pelota:

centro

Para la paleta:

centro