Sei sulla pagina 1di 9

JUEGO TIPO “ANGRY BIRDS”: ESCRITO EN LENGUAJE DE

PROGRAMACIÓN C++ ORIENTADO A OBJETOS BAJO EL ENTORNO DE


DESARROLLO DE QT

SANTIAGO GARCÍA VANEGAS

BRAHIAN CALDERÓN MÚNERA

Asesor

AUGUSTO ENRIQUE SALAZAR JIMÉNEZ

UNIVERSIDAD DE ANTIOQUIA SECCIONAL MEDELLÍN

FACULTAD DE INGENIERÍA

INFORMATICA II

MEDELLIN
2016

Contenido

1 introducción

1.1 entorno

1.2 estándares

1.3 documentación

2 objetivos

2.1 objetivo general

2.2 objetivos específicos

3 descripción general

3.1 propósito

3.2 alcance

3.3 restricciones

3.4 personal involucrado

4 requerimientos específicos

4.1 requerimientos comunes

4.2 requerimientos funcionales

5 ecuaciones de movimiento

6 cronogramas
1 Introducción

1.1 Entorno

En este juego el jugador toma el control de unas bolas. El objetivo del juego es ir completando
niveles, en cada uno de los cuales existen diferentes obstáculos de diferente tipo. Con la ayuda
de un resorte el jugador tendrá que lanzar las bolas contra las estructuras para destruirlas y de
esta manera eliminar a todos los objetivos de cada nivel.
Se consiguen puntos por destruir partes de la estructura, eliminar los objetivos y menor
cantidad de lanzamientos

1.2 estándares

Lenguaje de programación c++ orientado a objetos


IDE QT(creator) versión 5.7

1.2 Documentación

En el presente documento se encontraran, de manera específica y ordenada cada uno de los


requerimientos que presenta la creación de un juego en el lenguaje de c++, que implementa
tres movimientos físicos, 5 niveles y multijugador como algunas de sus características
principales.
Se indicara la función del juego y la forma de cómo cumplirá con el objetivo de cada
requerimiento propuesto para la creación del mismo.
2 objetivos

2.1 Objetivo principal

Aplicar programación orientada a objetos para el desarrollo de un juego en el lenguaje de c++

2.2 Objeticos específicos

Modelar los siguientes movimientos físicos

Colisiones

Movimiento parabólico

Resorte (ley de Hooke)

Crear interfaz gráfica funcional para el juego

Implementar score (sistema de puntuación)

Creación de 5 diferentes niveles

Nivel 1, nivel 2, nivel 3, nivel 4, nivel 5

Implementar guardar partida

save button

Crear modo multijugador

Home

multiplayer button
3 descripción general

3.1 Propósito

Aplicar y demostrar habilidad de un conjunto de conocimientos adquiridos sobre la


programación orientada a objetos aprendida durante el curso de Informática II

3.2 Alcance

El juego permitirá a los usuarios guardar partida, conocer su puntuación y disfrutar de niveles
ambientados y de diferente complejidad.

3.3 Restricciones

Debe contemplarse las implicaciones de los siguientes puntos críticos:

- Desarrollo de animaciones, imágenes de ambiente, personajes no originales.

- Implementación de un modo multijugador

- El sistema será desarrollado en QT, con C++ un lenguaje con una orientación a objetos
3.4 Personal involucrado

Nombre -Rol Brahian calderón múnera -estudiante


Bryan Stiven Rojas Lopera -estudiante
Augusto Salazar –asesor-profesor

Información del contacto calderonbrahian@gmail.com


bstiven.rojas@udea.edu.co
Contacto augusto.salazar@udea.edu.co

4 Requerimientos específicos

4.1 Requerimientos comunes


-interfaz de usuario

- Instrucciones y reglas del juego

- Controles

Elongación del resorte

Angulo de lanzamiento

4.2 requerimientos funcionales

-El usuario deberá tener la posibilidad de iniciar partida nueva o cargar una previa

-El sistema deberá proporcionar visores adecuados para que el usuario lea su puntaje

-El sistema deberá concluir el juego de manera satisfactoria y dar el resultado del
usuario

5 ecuaciones de movimiento

Para el funcionamiento de la parte física se tendrán en cuenta 3 tipos de movimientos

 Movimiento parabólico
 Colisiones
 Resortes

Todos los cuerpos se pueden modelar a través de unas ecuaciones vectoriales dinámicas de
movimientos:

1. r= r0 + vt + at2/2
2. v = v0+ at

Dónde:
r: vector desplazamiento r0: vector desplazamiento inicial
V: vector velocidad a: vector aceleración t: tiempo trascurrido

Descomponiendo estas en sus componentes rectangulares para mayor facilidad al calcular se


tiene:

1. x = x0 + vxt +axt2/2 , y = y0 + vt +ayt2/2


2. vx = vx0 + axt , vy = vy0 + ayt

Dónde:
x: posición, en el eje x, del cuerpo x0: posición inicial, en el eje x, del cuerpo
y: posición en y del cuerpo y0: posición inicial, en el eje y, del cuerpo
vx: velocidad, en el eje x, del cuerpo vx0: velocidad, inicial en el eje x, del cuerpo
vy: velocidad, en el eje y, del cuerpo vy0: velocidad inicial, en el eje y, del cuerpo
ax: aceleración, en el eje x, del cuerpo ay: acelereación, en el eje y, del cuerpo
t: tiempo transcurrido.

Para poder calcular la aceleración, esta dependerá del tipo de movimiento que describa el
cuerpo, se debe tener presente lo siguiente:

F=ma, donde: F: fuerza y m: masa del cuerpo

I. Entonces para la fuerza gravitacional (constante) y la magnitud de la fuerza de fricción


con el aire (siempre es negativa) que son las causales del movimiento parabólico se
tiene el siguiente modelo:
Fg=mg, entonces se tiene que ag=g=10
Donde g es la gravedad.
2
FD=ρv CDA/2 y la magnitud de la aceleración es aD=ρv2CDA/2m
Donde
ρ: densidad del fluido
CD: el coeficiente de fricción, que depende de la forma del cuerpo
A: el área transversal del cuerpo
v = √(vx2 + vy2) ∶ magnitud de la velocidad

Ahora sumando las aceleraciones y descomponiéndolas en sus componentes


rectangulares se tiene que para este movimiento la aceleración total será:

aDX = -(ρv2CDAcos(θ))/2 y aDY = −(ρv2CDA sin(θ))/2m

θ = tan−1 (vy/vx) ∶ ángulo del movimiento

II. Para a fuerza de restitución del resorte se tiene la ley de Hooke que sigue el siguiente
modelo:
Fk=-kx

Donde k es la constante de restitución del resorte y el menos solo indica que es


contrario al de elongación
entonces la aceleración se define como: a=-kx/m

III. Para las colisiones se trabajará el choque inelástico el cual tiene un coeficiente de
restitución (e) y su modelo es:
e = −(v1 − v2)/(u1 − u2)
Dónde:
v1: velocidad de 1 luego del choque v2: velocidad de 2 luego del choque
u1: velocidad de 1 antes del choque u2: velocidad de 2 antes del choque
Entonces como el cuerpo 2 siempre estará inerte se puede simplificar la ecuación de la
siguiente manera:
e=-(v1/u1) y v1=-eu1
Y como el coeficiente se conoce desde el comienzo y es constante

Potrebbero piacerti anche