Difference between revisions of "Ejercicio: Pong"
Line 1: | Line 1: | ||
− | + | == 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 | ||
− | + | [[File:Ejercicio Pong 01.png|center|400px|Ejercicio Pong 01.png]] | |
− | + | Seleccionamos la herramienta circulo [[File:Seleccionherramientacirculo.png|Archivo:Seleccionherramientacirculo.png]]y elegimos el circulo relleno [[File:Pong03.png|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: | Primero de todo, será necesario que volvamos al lienzo de programación, podemos hacerlo pulsando el botón de Programas: | ||
− | + | [[File:Pong04.png|center|Pong04.png]] | |
− | [[ | + | |
− | + | ¿Qué podemos hacer? Para empezar podemos iniciar el programa al pulsar la banderita verde. | |
− | ¿Qué podemos hacer? Para empezar podemos iniciar el programa al pulsar la banderita verde. | + | |
− | + | [[File:Pong01-1.png|center|Pong01-1.png]] | |
− | [[ | + | |
− | + | 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 | |
− | 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 | + | |
− | + | [[File:Pong06.png|center|Pong06.png]] | |
− | [[ | + | |
− | |||
Ahora presionemos la bandera verde y pongamos el programa en funcionamiento. Comprobemos como funciona el rebote. | 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. | 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. | 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. | ||
− | + | [[File:Pong01-2.png|center|Pong01-2.png]] | |
− | [[ | + | |
+ | | ||
− | ==La paleta== | + | == 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" | Ya tenemos la pelota en movimiento, construyamos un nuevo objeto para interactuar con la pelota, A este objeto le vamos a llamar "Paleta" | ||
− | + | [[File:Pong01-4.png|center|Pong01-4.png]] | |
− | [[ | + | |
− | + | En el editor de dibujos dibujamos un rectángulo, procurando que el centro quede bien colocado | |
− | En el | + | |
− | + | [[File:Pong02-1.png|center|400px|Pong02-1.png]] | |
− | [[ | + | |
− | |||
A este objeto le añadimos el siguiente código. | A este objeto le añadimos el siguiente código. | ||
− | + | [[File:Pong02-2.png|center|Pong02-2.png]] | |
− | [[ | + | |
− | + | 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. | |
− | 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 | + | |
− | + | [[File:Pong10-1.png|center|Pong10-1.png]] | |
− | [[ | + | |
+ | | ||
− | ==Más rebotes== | + | == Más rebotes == |
− | |||
Escribamos el código de rebotar. | Escribamos el código de rebotar. | ||
− | + | [[File:Pong10-2.png|center|Pong10-2.png]] | |
− | [[ | + | |
+ | | ||
− | ==La línea de fondo== | + | == 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. | |
− | 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. | + | |
− | + | [[File:PongLineadefondo.png|center|400px|PongLineadefondo.png]] | |
− | [[ | + | |
− | |||
Modifiquemos el código de la "Pelota" para que esta interactue con el "Fondo" | Modifiquemos el código de la "Pelota" para que esta interactue con el "Fondo" | ||
− | + | [[File:PongTocandofondo.png|center|PongTocandofondo.png]] | |
− | [[ | + | |
− | |||
Seria conveniente que pudiésemos contar las veces que la pelota toca el fondo. Para ello creamos una variable a la que llamamos "marcador". | Seria conveniente que pudiésemos contar las veces que la pelota toca el fondo. Para ello creamos una variable a la que llamamos "marcador". | ||
− | + | [[File:PongVariablemarcador.png|center|PongVariablemarcador.png]] | |
− | [[ | + | |
− | |||
Cada vez que la "Pelota" toca la linea de fondo incrementamos esta variable en uno. | Cada vez que la "Pelota" toca la linea de fondo incrementamos esta variable en uno. | ||
− | + | [[File:PongCodigomarcador.png|center|PongCodigomarcador.png]] | |
− | [[ | + | |
− | |||
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 | 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 | ||
− | + | [[File:PongMensajeinicia.png|center|PongMensajeinicia.png]] | |
− | [[ | + | |
+ | | ||
− | ==Perder la partida== | + | == 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. | 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. | ||
− | + | [[File:PongCodigocomarcador.png|center|PongCodigocomarcador.png]] | |
− | [[ | + | |
− | |||
Añadamos un mensaje (enviar "fin") al código para activar las condiciones de final de partida | Añadamos un mensaje (enviar "fin") al código para activar las condiciones de final de partida | ||
− | + | [[File:PongFinpartida.png|center|PongFinpartida.png]] | |
− | [[ | + | |
− | |||
Dibujemos un nuevo escenario para el fin de partida. | Dibujemos un nuevo escenario para el fin de partida. | ||
− | + | [[File:PongFondofinal.png|center|400px|PongFondofinal.png]] | |
− | [[ | + | |
− | |||
Modifiquemos el código del escenario para que responda a los mensajes "inicia" y "fin". | Modifiquemos el código del escenario para que responda a los mensajes "inicia" y "fin". | ||
− | + | [[File:PongEscenariocodigofinal.png|center|PongEscenariocodigofinal.png]] | |
− | [[ | + | |
− | |||
Para terminar añadamos los comportamientos "inicia" y "fin" a los otros objetos. | Para terminar añadamos los comportamientos "inicia" y "fin" a los otros objetos. | ||
− | |||
Para la pelota: | Para la pelota: | ||
− | + | [[File:PongPelotafin.png|center|PongPelotafin.png]] | |
− | [[ | + | |
− | |||
Para la paleta: | Para la paleta: | ||
− | + | [[File:PongPelotafin.png|center|PongPelotafin.png]] | |
− | [[ | + | |
+ | == Link == | ||
− | |||
[https://scratch.mit.edu/projects/20324156/ Pong] | [https://scratch.mit.edu/projects/20324156/ Pong] | ||
− | + | ||
+ | [[Category:Scratch]] [[Category:8 a 10 años]] [[Category:10 a 12 años]] |
Latest revision as of 09:11, 1 December 2017
Contents
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
Seleccionamos la herramienta circulo y elegimos el circulo relleno
. 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:
¿Qué podemos hacer? Para empezar podemos iniciar el programa al pulsar la banderita verde.
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
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.
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"
En el editor de dibujos dibujamos un rectángulo, procurando que el centro quede bien colocado
A este objeto le añadimos el siguiente código.
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.
Más rebotes
Escribamos el código de rebotar.
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.
Modifiquemos el código de la "Pelota" para que esta interactue con el "Fondo"
Seria conveniente que pudiésemos contar las veces que la pelota toca el fondo. Para ello creamos una variable a la que llamamos "marcador".
Cada vez que la "Pelota" toca la linea de fondo incrementamos esta variable en uno.
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
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.
Añadamos un mensaje (enviar "fin") al código para activar las condiciones de final de partida
Dibujemos un nuevo escenario para el fin de partida.
Modifiquemos el código del escenario para que responda a los mensajes "inicia" y "fin".
Para terminar añadamos los comportamientos "inicia" y "fin" a los otros objetos.
Para la pelota:
Para la paleta: