0% encontró este documento útil (0 votos)
10 vistas9 páginas

Juego de Scratch: Aventura de Bally

Cargado por

yuliana
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas9 páginas

Juego de Scratch: Aventura de Bally

Cargado por

yuliana
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Trabajo final (TF) con Scratch - 1C – 2024

Fecha de entrega: 9/6/24

Alumnos: Bazalar, Jair; Almazán, Jacqueline; Romano Yuliana; Aguirre,


Cintia

Universidad Nacional de Mar del Plata- Facultad de Ingeniería


Enunciado del Juego:
Bally es un slime que descansaba tras un largo día. Tan cansado estaba que
olvidó cerrar su puerta. Al dormirse, se cayó. Ahora, necesita tu ayuda para volver
a su casa en las alturas. Ten cuidado con los enemigos y los obstáculos que
acechan en el camino. Ayúdate con las vidas que están en el camino. Ten en cuenta
que al tocar el borde inferior morirás instantáneamente.
Pero al elegir el modo difícil, Bally se estará cayendo, además de los
enemigos, obstáculos y bonificaciones que puedas encontrarte en el camino, ahora
deberás evitar a toda costa tocar los dos bordes de la pantalla porque perderás
todas las vidas y se reinicia el juego
¡Ayuda a Bally a no morir!

Introducción de scratch:
Scratch es un entorno de programación visual y multimedia destinado a la
realización, difusión de secuencias animadas con o sin sonido y al aprendizaje de
programación. Ofrece una interfaz intuitiva muy fácil de comprender donde se
pueden crear personajes, cambiar su apariencia y hacerlos interactuar con los otros
personajes u objetos.
Scratch se utiliza desde un “entorno de desarrollo” que muestra todos los
elementos necesarios entre ellos el escenario, los bloques de código que se
ensamblan como piezas de un rompecabezas, sprites, sonidos, barra de
herramientas y la paleta de bloques que contiene las instrucciones clasificadas por
tipo.
Créditos al pdf del profe.
Documentaciones principales:
 Documentación: Slime y salto:

Al principio se hizo paso a paso del primer video del curso Informática Básica
para crear al personaje. Luego se decidió por como el personaje saltara a sí que vi
videos de guía al respecto. Para que un personaje salte y caiga se tiene que tener
en cuenta una “Gravedad” (si se mira el diagrama verá que así puse dicho valor),
para ello el personaje es impulsado hacia arriba y mientras lo está el valor negativo
(-1) es el que actúa de gravedad bajando. Si el valor empieza a ser negativo se fija
el valor a la altura del suelo para que el objeto no caiga infinitamente.
Se utilizó la misma lógica para hacer las plataformas haciendo que el
personaje obtenga velocidad cuando interactúe con ellas. Además se utilizo el
mismo valor al presionar flecha hacia arriba haciendo que se pueda hacer un doble
salto.
 Documentación: Pantalla principal y contadores

La pantalla principal te puede dirigir al nivel fácil y al difícil, mostrarte los


créditos o darte una ayuda. Para esto use varios clones para hacer los botones
(excepto ayuda y créditos) y no tener que hacer varios objetos con el mismo código.
Con los botones fácil y difícil se acceden a los niveles, esto lo hice con los
mensajes. Los objetos como el slime, los enemigos y la plataforma cambian su
comportamiento dependiendo de qué nivel elijas.
Al temporizador del salto lo hice siguiendo el video “Haz un cronómetro en
scratch!!” al pie de la letra.
Unos de los inconvenientes que tuve fueron con los disfraces de “ayuda” y
“créditos”. Quería ponerlos en un mismo objeto usando clones, pero a la hora de
hacerle click no cambiaban de disfraz, es algo que no pude solucionar.

Otro percance que tuve fueron los clones. Al darle enviar un mensaje y recibir
en el mismo objeto donde estaban los clones, el disfraz se multiplicaba por la
cantidad de clones que habían. Lo solucione moviendo los códigos y los disfraces
a otro objeto.
 Documentación, enemigos:

En el apartado de enemigos hubieron 2 principales problemas a la hora de


diseñarlos, en este caso voy a decir específicamente que me ocurrió en cada caso:
La muerte de los enemigos: Se hizo que los enemigos aparecieran de manera a
azar y que estos murieran si se les salta encima (en el modo fácil) o si se les salta
por debajo (en el modo difícil). Para hacer que cada enemigo muera cuando se le
salta encima se me ocurrió hacer una lista en el que se encuentre los enemigos
guardando su número y así eliminándolos, pero ocurrieron problemas que no
mencionare. La mejor forma que se me ocurrió de solucionarlo fue hacer que todo
el código de los enemigos funcione siempre y cuando la hitbox y el enemigo en si
se estuviesen tocando constantemente. De esta manera se logra hacer que si se
desaparece uno también lo hace el otro sin importar si es un clon haciendo así que
el enemigo pueda aparecer en un lugar al azar y a su vez pueda morir.

Dificultades encontradas en la resolución:

Durante la realización de la plataforma móvil encontramos dificultad en el


movimiento del desplazamiento pues este rebotaba y se movía de manera inclinada
y no de manera horizontal. Se solucionó realizando esa tarea de manera grupal
entre todos al hacer una lluvia de ideas para resolver el problema. Otro problema
fue con la plataforma obstáculo pues esta se tuvo que crear aparte al generar
demasiados errores con el slime.
Borde inferior al momento del contacto y su inconveniente al desarrollarlo:
En un principio al realizar la muerte del personaje por contacto con el borde inferior
presentó un problema al usar el operador “menor que” en vez de “igual” con la
posición -132, ya que si bien el personaje hacía contacto con el borde inferior en
dicha posición no lo ejecutaba del modo que enviará a fin del juego y concluye la
partida si no que seguía normal, al ver con prueba y error se cambió a un operador
“igual” que ejecutó el programa de manera que cumpliera la ejecución requerida. De
esta manera se creó con éxito la muerte del personaje al llegar al borde inferior de
la pantalla

Trabajamos con una cuenta compartida en el que cada persona hacia copias del
código principal haciendo diferentes modificaciones y viendo si funcionaba
correctamente para luego implementarlo. El principal problema con este método fue
que la propia página de scratch borraba u ocultaba nuestros propios códigos
haciendo nuestro trabajo mucho más difícil. Nos percatamos que scratch no queda
extenso de los problemas de software ya que al usarlo de manera online
grupalmente al mismo tiempo presentaba disminución del servicio dificultando el
trabajo
Bloque significativo:

Aquí decidimos pasar a PseInt un código es cual se nos hizo uno de los mas
significativos de nuestro juego, el “salto”. Para ello se tuvo que cambiar un par de
valores pues no se puede hacer exactamente el código nuestro a seudocódigo
debido a que hay valores en scratch que no se utilizan en otros lugares. Por eso el
código se puede ver diferente.

Seudocódigo:
Vinculación del desarrollo con los contenidos vistos en la
materia:
Gracias al practicar diagramas de flujo y pseudocódigo con pseint, pudimos
familiarizarnos con scratch mucho más rápido que si no tuviéramos esa
información. El uso de bloques en scratch usa la misma lógica que en pseint, la
asignación e inicialización de variables también es similar.

Documentación de variables:

VARIABLES GLOBALES
TIPO DE
NOMBRE DE TIPO DE VARIABLES
DESCRIPCIÓN
VARIABLE DATO
E P S
Posición del suelo con
Altura máxima del slime respecto al Slime Entero x
Velocidad Y del Velocidad de impulso y
Personaje gravedad del Slime Entero x x
Cantidad de enemigos en
Cantidad de enemigos pantalla Entero x
Lugar de aparición en X Posición de aparición
del enemigo horizontal del enemigo Entero x
Lugar de aparición en Y Posición de aparición vertical
del enemigo del enemigo Entero x
Número de clones de las
Número de clones plataformas Entero x
Puntuación Puntuación del jugador Entero x x
Vidas Cantidad de vidas del Slime Entero x x
Velocidad de todos los Velocidad de todos los
objetos en Difícil objetos en modo difícil Entero x
Probabilidad de Probabilidad de aparición de
aparición de plataforma plataformas móviles y
especial obstáculos Entero x
Aclaración: Las listas y los mensajes utilizados no fueron documentados pues no
pueden dividirse se la misma manera que las variables.

VARIABLES LOCALES
TIPO DE
NOMBRE DE TIPO DE VARIABLES
DESCRIPCIÓN
VARIABLE DATO
E P S
SLIME:
Altura del suelo Posición del suelo Entero x x
Movimiento del Movimiento horizontal del
personaje en X Slime Entero x x
Tiempo para el uso de la
Tiempo de salto habilidad del personaje Real x x
PLATAFORMAS:
Posición de la Posición de aparición al azar
plataforma móvil de la plataforma Entero x
BONIFICADORES:
Probabilidad en que aparezca
Cantidad objetos un bonus Entero x
Posición en Y del Lugar de aparición de un
bonus bonus Entero x
ENEMIGO:
Enemigo Creación del enemigo Entero x

Conclusiones y comentarios:

En este trabajo descubrimos que hacer un juego lleva su esfuerzo, tiempo y


conocimiento. Por eso es importante tener una buena comunicación y
organización en un grupo para fijar metas y entregar proyectos a tiempo.
Hacer que un código responda bien y no actúe raro, es más difícil y
complejo de lo que parece pues la complejidad del código va en aumento mientras
más se va desarrollando. Esto importante tenerlo en cuenta pues en el futuro
nuestro trabajo tendrá mayores dificultades y este tp es una buena forma de
practicar para lo que es la vida laboral.
Bibliografía:

 Videos de referencia al hacer contacto con los bordes:


[Link]
[Link]
 Video de referencia sobre las vidas:
[Link]
● Clase introductoria Scratch y clones:
[Link]
● Scroll en la cámara horizontal:
[Link]
● Clase introductoria Scratch y Clones - Parte 1 :
[Link]
● Cómo saltar en Scratch - Animación y Gravedad:
[Link]
● Cómo programar SALTO y GRAVEDAD | Hacer saltar | Juego con efecto de
saltos - Tutorial Scratch 3.0 :
[Link]
● ¡Haz un cronometro en scracht!!
[Link]

 ¿Cómo enviar y recibir un mensaje en scracht 3?0?


[Link]

También podría gustarte