SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
1
Práctica 6. Videojuego "Pong"
Pong es un juego sencillo, que consiste en una paleta (que es
controlada por el usuario) y una pelota. La pelota rebota en la
paleta y tres paredes. Si la bola toca la pala, suben la puntuación
del usuario, y si la bola pasa por el lateral de la paleta, el juego ha
terminado.
Objetivos de Aprendizaje
Completando esta aplicación te ayudará a aprender sobre:
 Entorno App Inventor : designer, editor de bloques, emulador
y / o teléfono físico.
 Programación App Inventor: componentes de Canvas, botones,
etiquetas, sprites de animación, procedimientos sin
parámetros, variables globales y condicionales.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
2
Primera parte. DISEÑO: App Inventor Designer
1.- Abre el AppInventor 2.
2.- Descargar y guardar una imagen de una paleta (paddle.gif):
3.- En la columna izquierda del Designer, abre la paleta Basic y arrastra
primero un componente Label a la pantalla (1). En el
panel Components, selecciona el componente Label1 y cambia su nombre
a "ScoreLabel" (2). En el panel Propierties (lado derecho), elimina el texto de
la pantalla del componente Label1 para reemplazar por "Score" (3) y cambia
su tamaño a 18, su anchura a 150 píxeles y la altura a 30 píxeles.
4.- Desde la paleta Basic, arrastra dos botones a la pantalla debajo
de la etiqueta. Cambia el nombre del primer botón
a "StartButton" y cambia su campo de texto a "Start". Cambia el
nombre del segundo botón a "ResetButton" y cambia su campo de
texto a "Reset".
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
3
5.- De la paleta Screen Arrangament, arrastra un
componente HorizontalArrangament a la pantalla. Arrastra
el ScoreLabel al HorizontalArrangement primero, y a continuación, arrastra
los dos botones junto al componente ScoreLabel.
5.- Desde la paleta Basic, arrastra un componente Canvas y
establece el ancho a 300 píxeles y la altura a 390 píxeles en el
panel de Propiedades. Puedes cambiar el color de fondo
del Canvas a cualquier color que te guste o incluso poner una imagen
de fondo.
6.- En La paleta de Drawing and Animation, arrastra un Ball y un
componente imageSprite al Canvas en la pantalla (1). Selecciona el
componente imageSprite (2) y cambia su imagen a la paleta paddle.gif (3).
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
4
7.- Selecciona Ball1 en el panel Components y en
las Propiedades establece , el intervalo (Interval) a 50, el
radio (Radius) a 20, y la velocidad (Speed) a 5. Puedes cambiar el
color de la bola (PaintColor) a cualquier color que te guste.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
5
Segunda parte. CONSTRUIR: Editor de bloques
En la esquina superior derecha del Designer, haz clic en el botón
de Blocks. Espera unos momentos mientras los bloques se cargan en
el editor.
Para el juego Pong, hay tres hechos que debemos conocer :
Cuando la bola alcanza una arista. Este evento tiene
una propiedad, borde (edge), cuyo valor es el límite
que se alcanzó. Si Edge = 1, significa que la pelota
alcanza el borde inferior.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
6
App Inventor asigna valores numéricos a los bordes de
un Canvas de la siguiente manera:
arriba = 1, derecha = 3, abajo = -1, izquierda = -3.
También asigna valores de dirección a los objetos
animados, se determinan por en un círculo completo,
como una brújula, con valores entre 0 y 360 grados, se
dice que un objeto que se mueve hacia la parte
superior de la pantalla al tener un rumbo o ángulo de
90 grados.
Cuando la bola choca con la pala (o cualquier otra
bola). Este evento tiene una propiedad, otros
(other),cuyo valor es la pelota o otros
sprites (paleta) con la que chocó . Para esta
aplicación, no nos preocuparemos por el valor de esta
propiedad. Siempre será la paleta.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
7
Cuando se arrastra el ImageSprite. Este evento
tiene seis propiedades. Las más importantes para
nuestra aplicación son CurrentX y CurrentY. Éstas
representan la ubicación de la paleta cuando el usuario
deja de arrastrarla.
y dos procedimientos para las bolas y los sprites que haremos
servir:
Rebotar la bola. Este procedimiento tiene un conector
de entrada, edge, que es el borde con el que se desa que
la pelota rebote. Teniendo en cuenta el rumbo actual de
la bola, rebotará automáticamente con un ángulo fijo
establecido por el (360 - ángulo).
Mover la bola/Sprite a (x, y) dentro del Canvas.Bolas
y sprites se pueden mover a cualquier punto en elCanvas.
Los conectores X e Y representan el punto (x, y) donde
queremos que se mueva.
1.- Desde la paleta Screen1, abre la paleta Ball1 y arrastra el bloque when
Ball1.EdgeReached sobre el área de trabajo, así como el bloque llamada call
Ball1.Bounce . Una vez hecho esto, inserta el get edge en el
conector del bloque call Ball1.Bounce edge que está pidiendo un valor límite
del rebote, es una función integrada dentor de los sprites.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
8
2.- Para controlar el arrastre del usuario de la paleta se utiliza el
bloque when ImageSprite1.Dragged. Debido a que la pala sólo
puede moverse horizontalmente, no verticalmente, su coordenada
Y siempre va a ser la misma. Sin embargo, su coordenada X irá
cambiado al valor que tiene por su ubicación. Por lo tanto, utilizamos
solo un bloque para obtener CurrentX en la paleta de coordenadas.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
9
3.- Por último, tenemos que controlar las colisiones entre la pelota
y la paleta. Lo que sucede es que la pelota rebota en la paleta de
partida en la dirección inversa. Aquí es donde se utiliza la
expresión (360 ángulo) para invertir la dirección de la pelota:
Prueba el funcionamiento de la aplicación.
Ahora añadiremos más jugabilidad:
1.- Para iniciar el juego, para comenzar a moverse, la velocidad de
la bola, la partida, la posición y propiedades de intervalo se
deben establecer y deben estar habilitadas. Ten en cuenta cómo la
propiedad del ángulo del movimiento se establece en un
valor aleatorio entre 225 y 315, esto hará que la pelota se mueva
hacia abajo, recordemos que un ángulo de 90 es hacia arriba y 0 es
hacia el borde derecho. Las propiedades de velocidad y el
intervalo controlan la velocidad con la que la bola se mueve. En este
caso se mueve 5 píxeles cada 10 milisegundos (cambiaremos en
el Designer las condiciones iniciales de intervalo y radio de la
bola a 10 milisegundos y 10 pixels). Finalmente posicionamos la
bola en laparte superior central del Canvas:
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
10
El botón de reinicio, simplemente vuelve a colocar la bola en la
parte superior central del Canvas
Comprueba el funcionamiento de los botones.
Ahora añadiremos la posibilidad de registrar la puntuación y la
de perder la partida. Si no golpeamos con la paleta a la bola, tocará
el borde inferior, habremos perdido la partida. Dentro del
bloque when Ball1.EdgeReached debemos añadir algunos nuevos
bloques para este evento, si toca el borde inferior se comportará
de una manera y si toca los laterales o superior de otra:
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
11
De la paleta de Matemáticas, arrastra un bloque (=) igual y
colócalo en el conector de "if". Arrastra el get edge a la primera
área en blanco. En la segunda área en blanco "-1"(por el borde
inferior). Esto comprobará si el borde al que se llegó es el borde
inferior del Canvas. Si es el inferior, establecerá la condición
de "false" en su habilitación para la bola y establecerá en la
etiqueta de puntuación un ¡¡ GAME OVER !!. Si no es el inferior,
llamará a mover la bola:
Comprueba si puedes perder la partida.
Ahora registraremos la puntuación. Definiremos una variable "
Score" y la iniciaremos a 0.
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
12
Cada vez que golpeemos con la paleta debemos sumar un punto a la
variable de la puntuación:
Y hacer que la presente la etiqueta de la puntuación:
Crearemos un procedimiento para actualizar el valor de la
puntuación, cada vez que sumemos un punto, cada vez que perdamos
la partida, cada vez que empecemos de nuevo y cada vez que
reiniciemos. Primero generamos el procedimiento, con una variable ,
con un bloque de Procedures:
Cambia "x" a "scorevalue". Esto crea una variable para el
procedimiento que se denomina "scorevalue". Este parámetro es
una variable temporal que contiene un valor para el procedimiento.
Se especifica el valor cuando se llama al procedimiento. Desde la
paleta de Variables arrastra un bloque set que haga que la
variable "score global" adopte el valor que entrega
el procedimiento "updateScore".
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
13
De la paleta ScoreLabel, arrastra un set
ScoreLabel.Text to, colocaremos un bloque que cambie el valor
inicial de "Score: " por el del valor que toma en cada momento más
la palabra "Score" , con el bloque "join":
Añadiremos la llamada al procedimiento en el bloque del botón de
inicio StatButton y lo iniciaremos
en "0".
También haremos una llamada al procedimiento cada vez que la
bola colisione con la paleta, y sumaremos un punto a la puntuación:
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
14
Iniciaremos a "0" el marcador cuando activemos el botón de
reinicio "ResetButton":
Comprueba el funcionamiento de la aplicación.
Tercera parte: AMPLIACIÓN. Añadir sonido, efectos y más posibilidades
Tendrás que mejorar esta aplicación, debes añadir algunas
posibilidades:
1.- Añadir efectos de sonidos.
Si subes sonidos al servidor, añadiendo un componente de sonido
Sound en el Designer, puedes hacer que se reproduzcan sonidos
cuando se producen eventos como, golpear la bloa, rebote de la bola
o perder la partida. Deberás añadir estos bloques:
IES LES DUNES INFORMÁTICA 2º BACH
UNIDAD 02 APP INVENTOR -06
15
Buzzer
Noik
TADA
2.- Cuando se llegue a una puntuación determinada puedes cambiar
lavelocidad de la bola, el tamaño de la bola o de la paleta.
3.- Dar al jugador tres vidas para que puedan obtener tres intentos
antes de "Game Over". Si se programan múltiples vidas, disminuir el
marcador en 10 cada vez que el jugador pierde una vida.
4.- Investiga lo que sucede si se cambia el rango de números
aleatorios para el comienzo de partida cuando se hace clic en el
botón de inicio.
5.- Puedes añadir cualquier otro evento que puedes diseñar tú
mismo.

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Primeros pasos con 3d max
Primeros pasos con 3d maxPrimeros pasos con 3d max
Primeros pasos con 3d max
 
Manual3 d studiomax
Manual3 d studiomaxManual3 d studiomax
Manual3 d studiomax
 
Introduccion Scratch
Introduccion ScratchIntroduccion Scratch
Introduccion Scratch
 
Como hacer Mosaicos fotograficos en ERDAS
Como hacer Mosaicos fotograficos en ERDAS Como hacer Mosaicos fotograficos en ERDAS
Como hacer Mosaicos fotograficos en ERDAS
 
Tutorial isis-proteus
Tutorial isis-proteusTutorial isis-proteus
Tutorial isis-proteus
 
Modulo 1.1
Modulo 1.1Modulo 1.1
Modulo 1.1
 
Manual 3 d studio max
Manual 3 d studio maxManual 3 d studio max
Manual 3 d studio max
 
Guía paso a paso curso scratch (Parte I - 2016)
Guía paso a paso curso scratch (Parte I - 2016)Guía paso a paso curso scratch (Parte I - 2016)
Guía paso a paso curso scratch (Parte I - 2016)
 
Primeros pasos con 3ds max
Primeros pasos con 3ds maxPrimeros pasos con 3ds max
Primeros pasos con 3ds max
 
manual 3 d studio max - español
manual 3 d studio max - españolmanual 3 d studio max - español
manual 3 d studio max - español
 
Proteus c01
Proteus c01Proteus c01
Proteus c01
 
Modulo 5
Modulo 5Modulo 5
Modulo 5
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - Proteus
 
Guía 1 scratch
Guía 1 scratchGuía 1 scratch
Guía 1 scratch
 
Introducción a auto cad 2d
Introducción a auto cad 2dIntroducción a auto cad 2d
Introducción a auto cad 2d
 
Manual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacionManual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacion
 
Manejo software ftool
Manejo software ftoolManejo software ftool
Manejo software ftool
 
Prácticas 1
Prácticas 1Prácticas 1
Prácticas 1
 
DISEÑO CAD
DISEÑO CADDISEÑO CAD
DISEÑO CAD
 
Gamemakeruno
GamemakerunoGamemakeruno
Gamemakeruno
 

Andere mochten auch

Andere mochten auch (18)

App inventor
App inventorApp inventor
App inventor
 
Expo backpack3
Expo backpack3 Expo backpack3
Expo backpack3
 
Las apps
Las appsLas apps
Las apps
 
App inventor
App inventorApp inventor
App inventor
 
App inventor
App inventorApp inventor
App inventor
 
App sobre Vigilancia de la Salud
App sobre Vigilancia de la SaludApp sobre Vigilancia de la Salud
App sobre Vigilancia de la Salud
 
Configuracio n app_inventor
Configuracio n app_inventorConfiguracio n app_inventor
Configuracio n app_inventor
 
Idea inicial
Idea inicialIdea inicial
Idea inicial
 
Tema3 potx
Tema3 potxTema3 potx
Tema3 potx
 
2 snap - mi primer proyecto
2  snap - mi primer proyecto2  snap - mi primer proyecto
2 snap - mi primer proyecto
 
Aplicacion sencilla en AppInventor
Aplicacion sencilla en AppInventorAplicacion sencilla en AppInventor
Aplicacion sencilla en AppInventor
 
Programamos con App Inventor 3: Mi primera App (II)
Programamos con App Inventor 3: Mi primera App (II)Programamos con App Inventor 3: Mi primera App (II)
Programamos con App Inventor 3: Mi primera App (II)
 
Programamos con App Inventor 5: BallBounce (juego paso a paso)
Programamos con App Inventor 5: BallBounce (juego paso a paso)Programamos con App Inventor 5: BallBounce (juego paso a paso)
Programamos con App Inventor 5: BallBounce (juego paso a paso)
 
App Inventor: Ejercicio 2
App Inventor: Ejercicio 2App Inventor: Ejercicio 2
App Inventor: Ejercicio 2
 
Wearables 101
Wearables 101Wearables 101
Wearables 101
 
MIT App Inventor + Arduino + Bluetooth
MIT App Inventor + Arduino + BluetoothMIT App Inventor + Arduino + Bluetooth
MIT App Inventor + Arduino + Bluetooth
 
Tutorial crear una app con ios
Tutorial crear una app con iosTutorial crear una app con ios
Tutorial crear una app con ios
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Ähnlich wie Ejercicio6 videojuego (20)

Manual scratch
Manual scratchManual scratch
Manual scratch
 
Casillas y botones con GeoGebra
Casillas y botones con GeoGebraCasillas y botones con GeoGebra
Casillas y botones con GeoGebra
 
cuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdfcuadernillo-de-ejercicios-parte-1.pdf
cuadernillo-de-ejercicios-parte-1.pdf
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1
 
Tutorial de Scratch
Tutorial de ScratchTutorial de Scratch
Tutorial de Scratch
 
Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1Cuadernillo de-ejercicios-parte-1
Cuadernillo de-ejercicios-parte-1
 
Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448Cuadernillodeejercicios parte1-160324160448
Cuadernillodeejercicios parte1-160324160448
 
Instalando Circuit Y Trax Maker
Instalando Circuit Y Trax MakerInstalando Circuit Y Trax Maker
Instalando Circuit Y Trax Maker
 
Botella de gatorade
Botella de gatoradeBotella de gatorade
Botella de gatorade
 
Cursointouch8
Cursointouch8Cursointouch8
Cursointouch8
 
Cursointouch8
Cursointouch8Cursointouch8
Cursointouch8
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
 
Laptop xosecundariascratch
Laptop xosecundariascratchLaptop xosecundariascratch
Laptop xosecundariascratch
 
Taller de scratch 1.1
Taller de scratch 1.1Taller de scratch 1.1
Taller de scratch 1.1
 
Taller1
Taller1Taller1
Taller1
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Scratch
ScratchScratch
Scratch
 
Manual Scratch
Manual ScratchManual Scratch
Manual Scratch
 

Kürzlich hochgeladen

PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...albertodeleon1786
 
26 de abril teoria exposición. El arte en la
26 de abril teoria exposición. El arte en la26 de abril teoria exposición. El arte en la
26 de abril teoria exposición. El arte en laMIRIANGRACIELABARBOZ
 
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)cris
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)crisMESOPOTAMIA Y SU ARQUITECTURA 1006/An)cris
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)crisDanielApalaBello
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjLuisMartinez556504
 
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuh
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuhGEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuh
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuhmezabellosaidjhon
 
Supremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmSupremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmolivayasser2
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolLuis José Ferreira Calvo
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfleonar947720602
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristianasomosartelife
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Secssuser50da781
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfDreydyAvila
 
Concepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasConcepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasAnkara2
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxJheissonAriasSalazar
 
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptx
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptxSEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptx
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptxLisetteChuquisea
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaEmmanuel Toloza
 
MODELO DE UNIDAD 2 para primer grado de primaria
MODELO DE UNIDAD 2 para primer grado de primariaMODELO DE UNIDAD 2 para primer grado de primaria
MODELO DE UNIDAD 2 para primer grado de primariaSilvanaSoto13
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio APabloBascur3
 

Kürzlich hochgeladen (17)

PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
PROCESO ADMINISTRATIVO Proceso administrativo de enfermería desde sus bases, ...
 
26 de abril teoria exposición. El arte en la
26 de abril teoria exposición. El arte en la26 de abril teoria exposición. El arte en la
26 de abril teoria exposición. El arte en la
 
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)cris
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)crisMESOPOTAMIA Y SU ARQUITECTURA 1006/An)cris
MESOPOTAMIA Y SU ARQUITECTURA 1006/An)cris
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
 
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuh
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuhGEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuh
GEODESIA pptx.pdfhhjjgjkhkjhgyfturtuuuhhuh
 
Supremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxmSupremacia de la Constitucion 2024.pptxm
Supremacia de la Constitucion 2024.pptxm
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y español
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristiana
 
Origen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to SecOrigen del Hombre- cuadro comparativo 5to Sec
Origen del Hombre- cuadro comparativo 5to Sec
 
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcfdiagrama sinóptico dcerfghjsxdcfvgbhnjdcf
diagrama sinóptico dcerfghjsxdcfvgbhnjdcf
 
Concepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena OlvierasConcepto de Estética, aproximación,Elena Olvieras
Concepto de Estética, aproximación,Elena Olvieras
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docx
 
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptx
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptxSEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptx
SEMIOLOGIA DE CABEZA Y CUELLO. Medicina Semiologia cabeza y cuellopptx
 
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza PinedaUnitario - Serie Fotográfica - Emmanuel Toloza Pineda
Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
 
MODELO DE UNIDAD 2 para primer grado de primaria
MODELO DE UNIDAD 2 para primer grado de primariaMODELO DE UNIDAD 2 para primer grado de primaria
MODELO DE UNIDAD 2 para primer grado de primaria
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio A
 

Ejercicio6 videojuego

  • 1. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 1 Práctica 6. Videojuego "Pong" Pong es un juego sencillo, que consiste en una paleta (que es controlada por el usuario) y una pelota. La pelota rebota en la paleta y tres paredes. Si la bola toca la pala, suben la puntuación del usuario, y si la bola pasa por el lateral de la paleta, el juego ha terminado. Objetivos de Aprendizaje Completando esta aplicación te ayudará a aprender sobre:  Entorno App Inventor : designer, editor de bloques, emulador y / o teléfono físico.  Programación App Inventor: componentes de Canvas, botones, etiquetas, sprites de animación, procedimientos sin parámetros, variables globales y condicionales.
  • 2. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 2 Primera parte. DISEÑO: App Inventor Designer 1.- Abre el AppInventor 2. 2.- Descargar y guardar una imagen de una paleta (paddle.gif): 3.- En la columna izquierda del Designer, abre la paleta Basic y arrastra primero un componente Label a la pantalla (1). En el panel Components, selecciona el componente Label1 y cambia su nombre a "ScoreLabel" (2). En el panel Propierties (lado derecho), elimina el texto de la pantalla del componente Label1 para reemplazar por "Score" (3) y cambia su tamaño a 18, su anchura a 150 píxeles y la altura a 30 píxeles. 4.- Desde la paleta Basic, arrastra dos botones a la pantalla debajo de la etiqueta. Cambia el nombre del primer botón a "StartButton" y cambia su campo de texto a "Start". Cambia el nombre del segundo botón a "ResetButton" y cambia su campo de texto a "Reset".
  • 3. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 3 5.- De la paleta Screen Arrangament, arrastra un componente HorizontalArrangament a la pantalla. Arrastra el ScoreLabel al HorizontalArrangement primero, y a continuación, arrastra los dos botones junto al componente ScoreLabel. 5.- Desde la paleta Basic, arrastra un componente Canvas y establece el ancho a 300 píxeles y la altura a 390 píxeles en el panel de Propiedades. Puedes cambiar el color de fondo del Canvas a cualquier color que te guste o incluso poner una imagen de fondo. 6.- En La paleta de Drawing and Animation, arrastra un Ball y un componente imageSprite al Canvas en la pantalla (1). Selecciona el componente imageSprite (2) y cambia su imagen a la paleta paddle.gif (3).
  • 4. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 4 7.- Selecciona Ball1 en el panel Components y en las Propiedades establece , el intervalo (Interval) a 50, el radio (Radius) a 20, y la velocidad (Speed) a 5. Puedes cambiar el color de la bola (PaintColor) a cualquier color que te guste.
  • 5. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 5 Segunda parte. CONSTRUIR: Editor de bloques En la esquina superior derecha del Designer, haz clic en el botón de Blocks. Espera unos momentos mientras los bloques se cargan en el editor. Para el juego Pong, hay tres hechos que debemos conocer : Cuando la bola alcanza una arista. Este evento tiene una propiedad, borde (edge), cuyo valor es el límite que se alcanzó. Si Edge = 1, significa que la pelota alcanza el borde inferior.
  • 6. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 6 App Inventor asigna valores numéricos a los bordes de un Canvas de la siguiente manera: arriba = 1, derecha = 3, abajo = -1, izquierda = -3. También asigna valores de dirección a los objetos animados, se determinan por en un círculo completo, como una brújula, con valores entre 0 y 360 grados, se dice que un objeto que se mueve hacia la parte superior de la pantalla al tener un rumbo o ángulo de 90 grados. Cuando la bola choca con la pala (o cualquier otra bola). Este evento tiene una propiedad, otros (other),cuyo valor es la pelota o otros sprites (paleta) con la que chocó . Para esta aplicación, no nos preocuparemos por el valor de esta propiedad. Siempre será la paleta.
  • 7. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 7 Cuando se arrastra el ImageSprite. Este evento tiene seis propiedades. Las más importantes para nuestra aplicación son CurrentX y CurrentY. Éstas representan la ubicación de la paleta cuando el usuario deja de arrastrarla. y dos procedimientos para las bolas y los sprites que haremos servir: Rebotar la bola. Este procedimiento tiene un conector de entrada, edge, que es el borde con el que se desa que la pelota rebote. Teniendo en cuenta el rumbo actual de la bola, rebotará automáticamente con un ángulo fijo establecido por el (360 - ángulo). Mover la bola/Sprite a (x, y) dentro del Canvas.Bolas y sprites se pueden mover a cualquier punto en elCanvas. Los conectores X e Y representan el punto (x, y) donde queremos que se mueva. 1.- Desde la paleta Screen1, abre la paleta Ball1 y arrastra el bloque when Ball1.EdgeReached sobre el área de trabajo, así como el bloque llamada call Ball1.Bounce . Una vez hecho esto, inserta el get edge en el conector del bloque call Ball1.Bounce edge que está pidiendo un valor límite del rebote, es una función integrada dentor de los sprites.
  • 8. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 8 2.- Para controlar el arrastre del usuario de la paleta se utiliza el bloque when ImageSprite1.Dragged. Debido a que la pala sólo puede moverse horizontalmente, no verticalmente, su coordenada Y siempre va a ser la misma. Sin embargo, su coordenada X irá cambiado al valor que tiene por su ubicación. Por lo tanto, utilizamos solo un bloque para obtener CurrentX en la paleta de coordenadas.
  • 9. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 9 3.- Por último, tenemos que controlar las colisiones entre la pelota y la paleta. Lo que sucede es que la pelota rebota en la paleta de partida en la dirección inversa. Aquí es donde se utiliza la expresión (360 ángulo) para invertir la dirección de la pelota: Prueba el funcionamiento de la aplicación. Ahora añadiremos más jugabilidad: 1.- Para iniciar el juego, para comenzar a moverse, la velocidad de la bola, la partida, la posición y propiedades de intervalo se deben establecer y deben estar habilitadas. Ten en cuenta cómo la propiedad del ángulo del movimiento se establece en un valor aleatorio entre 225 y 315, esto hará que la pelota se mueva hacia abajo, recordemos que un ángulo de 90 es hacia arriba y 0 es hacia el borde derecho. Las propiedades de velocidad y el intervalo controlan la velocidad con la que la bola se mueve. En este caso se mueve 5 píxeles cada 10 milisegundos (cambiaremos en el Designer las condiciones iniciales de intervalo y radio de la bola a 10 milisegundos y 10 pixels). Finalmente posicionamos la bola en laparte superior central del Canvas:
  • 10. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 10 El botón de reinicio, simplemente vuelve a colocar la bola en la parte superior central del Canvas Comprueba el funcionamiento de los botones. Ahora añadiremos la posibilidad de registrar la puntuación y la de perder la partida. Si no golpeamos con la paleta a la bola, tocará el borde inferior, habremos perdido la partida. Dentro del bloque when Ball1.EdgeReached debemos añadir algunos nuevos bloques para este evento, si toca el borde inferior se comportará de una manera y si toca los laterales o superior de otra:
  • 11. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 11 De la paleta de Matemáticas, arrastra un bloque (=) igual y colócalo en el conector de "if". Arrastra el get edge a la primera área en blanco. En la segunda área en blanco "-1"(por el borde inferior). Esto comprobará si el borde al que se llegó es el borde inferior del Canvas. Si es el inferior, establecerá la condición de "false" en su habilitación para la bola y establecerá en la etiqueta de puntuación un ¡¡ GAME OVER !!. Si no es el inferior, llamará a mover la bola: Comprueba si puedes perder la partida. Ahora registraremos la puntuación. Definiremos una variable " Score" y la iniciaremos a 0.
  • 12. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 12 Cada vez que golpeemos con la paleta debemos sumar un punto a la variable de la puntuación: Y hacer que la presente la etiqueta de la puntuación: Crearemos un procedimiento para actualizar el valor de la puntuación, cada vez que sumemos un punto, cada vez que perdamos la partida, cada vez que empecemos de nuevo y cada vez que reiniciemos. Primero generamos el procedimiento, con una variable , con un bloque de Procedures: Cambia "x" a "scorevalue". Esto crea una variable para el procedimiento que se denomina "scorevalue". Este parámetro es una variable temporal que contiene un valor para el procedimiento. Se especifica el valor cuando se llama al procedimiento. Desde la paleta de Variables arrastra un bloque set que haga que la variable "score global" adopte el valor que entrega el procedimiento "updateScore".
  • 13. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 13 De la paleta ScoreLabel, arrastra un set ScoreLabel.Text to, colocaremos un bloque que cambie el valor inicial de "Score: " por el del valor que toma en cada momento más la palabra "Score" , con el bloque "join": Añadiremos la llamada al procedimiento en el bloque del botón de inicio StatButton y lo iniciaremos en "0". También haremos una llamada al procedimiento cada vez que la bola colisione con la paleta, y sumaremos un punto a la puntuación:
  • 14. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 14 Iniciaremos a "0" el marcador cuando activemos el botón de reinicio "ResetButton": Comprueba el funcionamiento de la aplicación. Tercera parte: AMPLIACIÓN. Añadir sonido, efectos y más posibilidades Tendrás que mejorar esta aplicación, debes añadir algunas posibilidades: 1.- Añadir efectos de sonidos. Si subes sonidos al servidor, añadiendo un componente de sonido Sound en el Designer, puedes hacer que se reproduzcan sonidos cuando se producen eventos como, golpear la bloa, rebote de la bola o perder la partida. Deberás añadir estos bloques:
  • 15. IES LES DUNES INFORMÁTICA 2º BACH UNIDAD 02 APP INVENTOR -06 15 Buzzer Noik TADA 2.- Cuando se llegue a una puntuación determinada puedes cambiar lavelocidad de la bola, el tamaño de la bola o de la paleta. 3.- Dar al jugador tres vidas para que puedan obtener tres intentos antes de "Game Over". Si se programan múltiples vidas, disminuir el marcador en 10 cada vez que el jugador pierde una vida. 4.- Investiga lo que sucede si se cambia el rango de números aleatorios para el comienzo de partida cuando se hace clic en el botón de inicio. 5.- Puedes añadir cualquier otro evento que puedes diseñar tú mismo.