Closed juakotorres closed 8 years ago
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.
Concept Location
Monsters, Zombie, Kill, GameSkill.
Impact Analysis
Análisis con JRipples. Clases que se podrían ver impactadas:
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)
Prefactoring
Para ello se creó un método getZombieSpawnTime la cual retorna el tiempo para el cual se demora en aparecer el zombie creado. a7f36d34d0c4a8995a25f91b7402ba032cb600c1
Change Propagation
La única clase impactada fue Actions.
Verification
Al tener muchos objetos zombies el juego deja de funcionar correctamente por lo que necesita postfactoring con respecto a los Threads creados.
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.
Conclusion
Los monstruos se transforman en zombies una vez que pierden toda su vida.
Requisitos de Usuario asociados RU01 - Jugador/Enemigo Transformación Zombie