njara / mochadoom

Fork of Mochadoom from Sourceforge
GNU General Public License v3.0
0 stars 1 forks source link

RS22 - Mostrar mapa en la pantalla #19

Closed elbraulio closed 8 years ago

elbraulio commented 8 years ago

Requisito de Usuario asociado RU14 - Cheatcode: Activar mapa

Lapnis commented 8 years ago

Initialization

Se debe lograr que el fondo del mapa sea un fondo transparente, para poder jugar con el mapa activado.

Lapnis commented 8 years ago

Concept Location

Los conceptos asociados son: map, mapbackground, background.

Lapnis commented 8 years ago

Impact Analysis

Las clases que se pueden ver afectadas al implementar esta funcionalidad son:

Lapnis commented 8 years ago

Prefactoring

Primero que todo, se debe identificar donde se dibuja el fondo del mapa, para desactivaarlo y poder ver un fondo transparente. Para ver cuando activar esta funcion, se creará una variable que indique si se debe dibujar el fondo negro o no.

Lapnis commented 8 years ago

Change Propagation

Se encontró el método que dibuja el fondo, pero no basta con desactivarlo para que se muestre un fondo transparente. En efecto, la pantalla del jugador se mueve, pero el mapa queda "pegado" y deja una "estela" a medida que se mueve el jugador en el juego.

Lapnis commented 8 years ago

Postfactoring

Lo que falta, es buscar donde se refresca la pantalla del juego, porque al parecer eso es lo que falta hacer para que el mapa no se quede pegado en la vista del jugador.

Lapnis commented 8 years ago

Prefactoring

En el juego hay dos vistas: la vista del jugador, y la vista del automap (el mapa del juego). Lo que sucede, es que cuando automap esta activo, el campo de vision del jugador no se actualiza, y viceversa, cuando la vista del jugador esta activo, el mapa no se actualiza. Aqui es donde esta el problema del refresco de la pantalla para dejar de ver que el mapa quede pegado en la vista del jugador.

Para ello, se pretende ver que cuando este activada la opción de fondo transparente, se dibujen ambas vistas.

Lapnis commented 8 years ago

Change Propagation

En efecto, se logró hacer que el mapa se refreque junto con la vista del jugador, por lo que el mapa dejó de verse pegado. Ahora si, hay que notar que para que esto funcione, se debe dibujar primero la vista del jugador, y despues el mapa encima; porque de lo contrario, el mapa queda "detrás" de la vista del jugador, y no se ve en la pantalla cuando se presiona TAB para activarlo. No se necesita postfactoring

Lapnis commented 8 years ago

Conclusion

Se logro hacer que cuando una variable sea true, el mapa se muestre en pantalla con un fondo transparente.