SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
JUEGO “ CAZAPELOTAS”
Vamos a diseñar nuestro primer juego para conocer otros componentes de los que dispone APP Inventor 2.
¿Qué vas a aprender en este ejercicio?
➢ Elementos de la paleta “Dibujo y animación” → lienzo, pelota y spriteimagen
➢ Contadores
¿Cual es nuestro objetivo?
Nuestro objetivo es diseñar una pantalla para un juego que consiste en un android controlado por los toques de
nuestro dedo en la pantalla que va a intentar tocar una pelota verde evitando tocar una pelota roja durante un
tiempo establecido. La pelota verde otorgará puntos y la pelota roja te los quitará. El nombre y puntos del record
se almacenarán en una base de datos externa (Firebase DB). El tiempo de juego es controlado por un reloj.
Crea un nuevo proyecto “Proyectos → Comenzar un proyecto nuevo” y pon el nombre “cazapelotas”
Vamos a diseñar 2 pantallas. La Screen1 será la portada en la que explicamos el juego. Tiene una etiqueta y un
botón con la foto del robot que nos llevará a la pantalla del juego.
La segunda pantalla llamada “JUEGO” es el juego en sí. En una primera disposición horizontal tiene un campo
de texto donde el usuario podrá introducir su nombre, un botón ON para comenzar a jugar y unas etiquetas para
controlar el tiempo. En una segunda disposición horizontal tenemos el control de tiempos y la información del
record. Todo son etiquetas.
Además, los componentes correspondientes a “Dibujo y animación”: El lienzo que es el fondo del juego, 2
pelotas y una spriteimagen.
Te facilito los archivos con una imagen para el fondo “cielo.jpg” y el robot “robot.png”. Debes subirlos a tu
proyecto de APP Inventor en la sección medios.
1
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
Aquí tienes un pantallazo con todos los componentes de cada pantalla. Ten en cuenta que algunas etiquetas son
separadoras (etiquetas vacías para crear espacios entre componentes).
Los dos componentes no visibles del proyecto en la pantalla “juego” son el RELOJTIEMPO y la FIREBASE
DB. El reloj lo encuentras en el menú sensores. Nos servirá para medir el tiempo del juego. La Base de datos
externa para guardar el record la encuentras en el menú Experimental.
2
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
PROGRAMACIÓN DE LA PANTALLA SCREEN 1
Esta pantalla es muy sencilla. Tendrá un único bloque de programación para que al clicar el botón
“ROBTOPORTADA” se abra la pantalla “juego”.
PROGRAMACIÓN DE LA PANTALLA juego
RECUPERACIÓN Y CARGA DE LOS DATOS DEL RECORD GUARDADOS EN
LA MEMORIA EXTERNA FIREBASE DB
Al abrirse la pantalla “juego” lo primero que tendremos que hacer es recuperar desde la memoria externa
“FirebaseDB” los datos del último record. Para ello, primero llamamos a la etiqueta de memoria donde está
guardado el dato y obtenemos ese valor guardado. Etiqueta: RECORDCAZAPELOTAS.
El dato está guardado en forma de cadena de texto separado por comas, es decir,
“NOMBRERECORD,PUNTOSRECORD”. Lo he guardado así porque va a ser más fácil de recuperar y separar
usando las opciones de lista.
Cuando FIREBASE DB obtiene el valor guardado, voy a separar el NOMBRERECORD de los PUNTOS
RECORD y voy a colocar cada uno en su etiqueta correspondiente. Para ello, creo una lista llamada “RECORD”
y utilizo el comando “lista desde registro csv texto” que lo que hace es separar los elementos de la cadena de
texto por las comas y colocar a cada trozo en un índice de la lista. De esa manera, el nombre me va a quedar en
el índice 1 de la lista y los puntos en el índice 2. Por eso, coloco en la etiqueta del nombre el elemento del índice
1 y en la etiqueta de los puntos el elemento del índice 2 de la lista
3
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
AL PULSAR EL BOTÓN ON
Al pulsar el botón ON tenemos que establecer las condiciones de inicio de la partida. La razón de volver a llamar
a la base de datos para obtener el valor del record, es porque un mismo jugador puede jugar varias partidas
seguidas dando al botón ON sin tener que inicializar la pantalla “juego”. Por eso, para actualziar el dato del
record entre partida y partida de un mismo jugador, volvemos a llamar a la base de datos.
El resto de sentencias son inicializadorss. Las pelotas se ponen visibles, el reloj del tiempo se habilita para que
empiece a contar, y las variables y etiquetas de los puntos y del tiempo se fijan en 0 y el tiempo deseado
respectivamente.
COMPORTAMIENTO DE LAS PELOTAS
Ambas pelotas van a moverse botando con los bordes y apuntando a una dirección aleatoria entre -360 y 360.
Utiliza estos bloques para la programación. Tienes que programar ambas pelotas de la misma manera. Aquí te
muestro la solución de la pelota verde.
4
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
COMPORTAMIENTO DEL LIENZO
En nuestro juego, cuando presionemos el lienzo con el dedo, el robot va a moverse hacia ese punto que nosotros
hemos tocado. Para programar esta parte usamos estros bloques. Inténtalo.
COMPORTAMIENTO DEL ROBOT
Para programar el robot vamos a definir dos opciones, que el robot toque un borde es la primera. La segunda
cuando el robot toca una de las pelotas.
Si el robot toca un borde, botará en él.
Si el robot choca con las pelotas, debemos programar la contabilidad de los puntos. Los puntos se guardan en
una variable llamada GLOBAL PUNTOS y se muestra al jugador en una etiqueta llamada PUNTOS. Los puntos
sólo se contabilizarán si el tiempo es mayor que 0, es decir, si estamos dentro del tiempo de juego.
Si el robot entra en colisión con la pelota verde, aumentaremos en 10 los puntos. Si entra en colisión con la
pelota roja ,disminuiremos en 10 los puntos.
5
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
COMPORTAMIENTO DEL RELOJ. CONTROL DEL TIEMPO
El reloj va a controlar el tiempo y por lo tanto parar la partida cuando se llegue a 0. Cuando el temporizador
comienza a funcionar, si el tiempo es mayor que 0, disminuye en 1 la variable tiempo y lo muestra al jugador en
la etiqueta correspondiente. Si el tiempo es menor o igual a 0 (mejor poner menor o igual que sólo igual),
deshabilita el temporizador para parar la partida y pone invisibles las pelotas para que el jugador no siga
intentado cazarlas.
El último condicional es para comprobar si el jugador es el nuevo record porque supera en puntos al actual. Si
estos es cierto, se llama a la base datos para guardar el valor del nuevo record. Este valor lo guardamos como
cadena de texto. Por eso usamos el bloque de “UNIR TEXTO” en el que juntamos el nombre del jugador que
está en el campo de texto “NOMBRE”, una coma, y los puntos obtenidos.
6
Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC
7

Más contenido relacionado

Similar a JUEGOCAZAPELOTAS -2 .pdf (20)

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
 
MANUAL SCRATCH.pdf
MANUAL SCRATCH.pdfMANUAL SCRATCH.pdf
MANUAL SCRATCH.pdf
 
Sprites en snes
Sprites en snesSprites en snes
Sprites en snes
 
Arkanoid en lenguaje vhdl
Arkanoid en lenguaje vhdlArkanoid en lenguaje vhdl
Arkanoid en lenguaje vhdl
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
 
Tutorial proteus inicial
Tutorial proteus inicialTutorial proteus inicial
Tutorial proteus inicial
 
Tutorialproteus
TutorialproteusTutorialproteus
Tutorialproteus
 
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
 
Manual de Scratch
Manual de ScratchManual de Scratch
Manual de Scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Laptop xosecundariascratch. firme 01
Laptop xosecundariascratch. firme 01Laptop xosecundariascratch. firme 01
Laptop xosecundariascratch. firme 01
 

Más de Nieves dibujo

practica banco publico.pdf
practica banco publico.pdfpractica banco publico.pdf
practica banco publico.pdfNieves dibujo
 
Presentación1 CULTURA banda-sonora.ppt
Presentación1 CULTURA banda-sonora.pptPresentación1 CULTURA banda-sonora.ppt
Presentación1 CULTURA banda-sonora.pptNieves dibujo
 
Trabajos-planos-angulos.pdf
Trabajos-planos-angulos.pdfTrabajos-planos-angulos.pdf
Trabajos-planos-angulos.pdfNieves dibujo
 
Banda Sonora John Williams (2).pptx
Banda Sonora John Williams (2).pptxBanda Sonora John Williams (2).pptx
Banda Sonora John Williams (2).pptxNieves dibujo
 
Diseño de envases, packaging
Diseño de envases, packagingDiseño de envases, packaging
Diseño de envases, packagingNieves dibujo
 

Más de Nieves dibujo (6)

practica banco publico.pdf
practica banco publico.pdfpractica banco publico.pdf
practica banco publico.pdf
 
Presentación1 CULTURA banda-sonora.ppt
Presentación1 CULTURA banda-sonora.pptPresentación1 CULTURA banda-sonora.ppt
Presentación1 CULTURA banda-sonora.ppt
 
Trabajos-planos-angulos.pdf
Trabajos-planos-angulos.pdfTrabajos-planos-angulos.pdf
Trabajos-planos-angulos.pdf
 
Banda Sonora John Williams (2).pptx
Banda Sonora John Williams (2).pptxBanda Sonora John Williams (2).pptx
Banda Sonora John Williams (2).pptx
 
Diseño de envases, packaging
Diseño de envases, packagingDiseño de envases, packaging
Diseño de envases, packaging
 
Esculturas alambre
Esculturas alambreEsculturas alambre
Esculturas alambre
 

Último

FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 

Último (20)

Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 

JUEGOCAZAPELOTAS -2 .pdf

  • 1. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC JUEGO “ CAZAPELOTAS” Vamos a diseñar nuestro primer juego para conocer otros componentes de los que dispone APP Inventor 2. ¿Qué vas a aprender en este ejercicio? ➢ Elementos de la paleta “Dibujo y animación” → lienzo, pelota y spriteimagen ➢ Contadores ¿Cual es nuestro objetivo? Nuestro objetivo es diseñar una pantalla para un juego que consiste en un android controlado por los toques de nuestro dedo en la pantalla que va a intentar tocar una pelota verde evitando tocar una pelota roja durante un tiempo establecido. La pelota verde otorgará puntos y la pelota roja te los quitará. El nombre y puntos del record se almacenarán en una base de datos externa (Firebase DB). El tiempo de juego es controlado por un reloj. Crea un nuevo proyecto “Proyectos → Comenzar un proyecto nuevo” y pon el nombre “cazapelotas” Vamos a diseñar 2 pantallas. La Screen1 será la portada en la que explicamos el juego. Tiene una etiqueta y un botón con la foto del robot que nos llevará a la pantalla del juego. La segunda pantalla llamada “JUEGO” es el juego en sí. En una primera disposición horizontal tiene un campo de texto donde el usuario podrá introducir su nombre, un botón ON para comenzar a jugar y unas etiquetas para controlar el tiempo. En una segunda disposición horizontal tenemos el control de tiempos y la información del record. Todo son etiquetas. Además, los componentes correspondientes a “Dibujo y animación”: El lienzo que es el fondo del juego, 2 pelotas y una spriteimagen. Te facilito los archivos con una imagen para el fondo “cielo.jpg” y el robot “robot.png”. Debes subirlos a tu proyecto de APP Inventor en la sección medios. 1
  • 2. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC Aquí tienes un pantallazo con todos los componentes de cada pantalla. Ten en cuenta que algunas etiquetas son separadoras (etiquetas vacías para crear espacios entre componentes). Los dos componentes no visibles del proyecto en la pantalla “juego” son el RELOJTIEMPO y la FIREBASE DB. El reloj lo encuentras en el menú sensores. Nos servirá para medir el tiempo del juego. La Base de datos externa para guardar el record la encuentras en el menú Experimental. 2
  • 3. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC PROGRAMACIÓN DE LA PANTALLA SCREEN 1 Esta pantalla es muy sencilla. Tendrá un único bloque de programación para que al clicar el botón “ROBTOPORTADA” se abra la pantalla “juego”. PROGRAMACIÓN DE LA PANTALLA juego RECUPERACIÓN Y CARGA DE LOS DATOS DEL RECORD GUARDADOS EN LA MEMORIA EXTERNA FIREBASE DB Al abrirse la pantalla “juego” lo primero que tendremos que hacer es recuperar desde la memoria externa “FirebaseDB” los datos del último record. Para ello, primero llamamos a la etiqueta de memoria donde está guardado el dato y obtenemos ese valor guardado. Etiqueta: RECORDCAZAPELOTAS. El dato está guardado en forma de cadena de texto separado por comas, es decir, “NOMBRERECORD,PUNTOSRECORD”. Lo he guardado así porque va a ser más fácil de recuperar y separar usando las opciones de lista. Cuando FIREBASE DB obtiene el valor guardado, voy a separar el NOMBRERECORD de los PUNTOS RECORD y voy a colocar cada uno en su etiqueta correspondiente. Para ello, creo una lista llamada “RECORD” y utilizo el comando “lista desde registro csv texto” que lo que hace es separar los elementos de la cadena de texto por las comas y colocar a cada trozo en un índice de la lista. De esa manera, el nombre me va a quedar en el índice 1 de la lista y los puntos en el índice 2. Por eso, coloco en la etiqueta del nombre el elemento del índice 1 y en la etiqueta de los puntos el elemento del índice 2 de la lista 3
  • 4. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC AL PULSAR EL BOTÓN ON Al pulsar el botón ON tenemos que establecer las condiciones de inicio de la partida. La razón de volver a llamar a la base de datos para obtener el valor del record, es porque un mismo jugador puede jugar varias partidas seguidas dando al botón ON sin tener que inicializar la pantalla “juego”. Por eso, para actualziar el dato del record entre partida y partida de un mismo jugador, volvemos a llamar a la base de datos. El resto de sentencias son inicializadorss. Las pelotas se ponen visibles, el reloj del tiempo se habilita para que empiece a contar, y las variables y etiquetas de los puntos y del tiempo se fijan en 0 y el tiempo deseado respectivamente. COMPORTAMIENTO DE LAS PELOTAS Ambas pelotas van a moverse botando con los bordes y apuntando a una dirección aleatoria entre -360 y 360. Utiliza estos bloques para la programación. Tienes que programar ambas pelotas de la misma manera. Aquí te muestro la solución de la pelota verde. 4
  • 5. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC COMPORTAMIENTO DEL LIENZO En nuestro juego, cuando presionemos el lienzo con el dedo, el robot va a moverse hacia ese punto que nosotros hemos tocado. Para programar esta parte usamos estros bloques. Inténtalo. COMPORTAMIENTO DEL ROBOT Para programar el robot vamos a definir dos opciones, que el robot toque un borde es la primera. La segunda cuando el robot toca una de las pelotas. Si el robot toca un borde, botará en él. Si el robot choca con las pelotas, debemos programar la contabilidad de los puntos. Los puntos se guardan en una variable llamada GLOBAL PUNTOS y se muestra al jugador en una etiqueta llamada PUNTOS. Los puntos sólo se contabilizarán si el tiempo es mayor que 0, es decir, si estamos dentro del tiempo de juego. Si el robot entra en colisión con la pelota verde, aumentaremos en 10 los puntos. Si entra en colisión con la pelota roja ,disminuiremos en 10 los puntos. 5
  • 6. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC COMPORTAMIENTO DEL RELOJ. CONTROL DEL TIEMPO El reloj va a controlar el tiempo y por lo tanto parar la partida cuando se llegue a 0. Cuando el temporizador comienza a funcionar, si el tiempo es mayor que 0, disminuye en 1 la variable tiempo y lo muestra al jugador en la etiqueta correspondiente. Si el tiempo es menor o igual a 0 (mejor poner menor o igual que sólo igual), deshabilita el temporizador para parar la partida y pone invisibles las pelotas para que el jugador no siga intentado cazarlas. El último condicional es para comprobar si el jugador es el nuevo record porque supera en puntos al actual. Si estos es cierto, se llama a la base datos para guardar el valor del nuevo record. Este valor lo guardamos como cadena de texto. Por eso usamos el bloque de “UNIR TEXTO” en el que juntamos el nombre del jugador que está en el campo de texto “NOMBRE”, una coma, y los puntos obtenidos. 6
  • 7. Autor: Nieves López Álvarez Esta obra está bajo licencia CC-BY-NC 7