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

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 

Último (20)

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
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
 

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