Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RS01 - Transformación Enemigo Zombie #2

Closed
8 tasks done
juakotorres opened this issue Apr 7, 2016 · 9 comments
Closed
8 tasks done

RS01 - Transformación Enemigo Zombie #2

juakotorres opened this issue Apr 7, 2016 · 9 comments
Assignees
Labels

Comments

@juakotorres
Copy link
Collaborator

juakotorres commented Apr 7, 2016

  • Descripción: El jugador y los monstruos tienen un mecanismo de transformación
    a zombie el cual se determina de acuerdo a la
    probabilidad asignada dependiendo de la dificultad.
  • Fuente: Analista.
  • Prioridad: Crítica.
  • Estabilidad: Intransable.
  • Fecha Actualización: 4/7/2016 12:12
  • Estado: Cumple.
  • Incremento: 0
  • Tipo: Funcional.
  • Usuario Asociado: Usuario de la aplicación.

Requisitos de Usuario asociados
RU01 - Jugador/Enemigo Transformación Zombie

  • Initialization
  • Concept Location
  • Impact Analysis
  • Prefactoring
  • Change Propagation
  • Verification
  • Postfactoring
  • Conclusion
@juakotorres juakotorres changed the title RS001- Transformación Enemigo Zombie RS002- Transformación Enemigo Zombie Apr 7, 2016
@juakotorres juakotorres changed the title RS002- Transformación Enemigo Zombie RS001- Transformación Enemigo Zombie Apr 7, 2016
@juakotorres juakotorres changed the title RS001- Transformación Enemigo Zombie RS001 - Transformación Enemigo Zombie Apr 7, 2016
@juakotorres juakotorres changed the title RS001 - Transformación Enemigo Zombie RS01 - Transformación Enemigo Zombie Apr 14, 2016
@ptaiba ptaiba added the Zombie label Apr 14, 2016
@juakotorres
Copy link
Collaborator Author

Initialization

Los enemigos al morir deben transformarse en un zombie. El zombie al cual reviven depende de una probabilidad la cual depende de la dificultad.

@juakotorres
Copy link
Collaborator Author

Concept Location

Monsters, Zombie, Kill, GameSkill.

@juakotorres
Copy link
Collaborator Author

Impact Analysis

Análisis con JRipples.
Clases que se podrían ver impactadas:

  • Actions
  • mobj_t
  • DoomContext
  • UnifiedGameMap
  • AbstractLevelLoader
  • player_t
  • DoomMain
  • ActionsFunctions
  • VanillaDSG
  • SlideDoor

@juakotorres
Copy link
Collaborator Author

juakotorres commented May 4, 2016

Prefactoring

En la clase Actions al momento de morir en la función KillMobj se efectúa la creación de los zombies mediante un nuevo método llamada SpawnZombieMobj la cual efectúa que el zombie sea el zombie del monstruo elimininado y posteriormente elimina el cuerpo del monstruo anterior. Este le asigna los sprites adecuados y las info. (Programado por Joaquín)

Para la asignación de la probabildad según una función de pesos llamada getZombieWeigth la cual retorna el peso de la probabilidad que tiene el color de ser asignado a un zombie. Posteriormente el método getRandomZombieType usa esos pesos para sacar aleatoriamente el tipo de zombie al cual se asignará esta retorna el tipo de zombie elegido. (Programado por Braulio)

@elbraulio
Copy link
Collaborator

elbraulio commented May 5, 2016

Prefactoring

Para ello se creó un método getZombieSpawnTime la cual retorna el tiempo para el cual se demora en aparecer el zombie creado. a7f36d3

@juakotorres
Copy link
Collaborator Author

Change Propagation

La única clase impactada fue Actions.

@juakotorres
Copy link
Collaborator Author

Verification

Al tener muchos objetos zombies el juego deja de funcionar correctamente por lo que necesita postfactoring con respecto a los Threads creados.

@juakotorres
Copy link
Collaborator Author

Postfactoring

Ahora los zombies son clases por separado, llamadas GreenZombie_t,RedZombie_t,GrayZombie_t,BlackZombie_t. Se arreglo bug de que dos monstruos pueden aparecer en la misma posición, usando el método CheckPosition.

@juakotorres
Copy link
Collaborator Author

Conclusion

Los monstruos se transforman en zombies una vez que pierden toda su vida.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants