LaAbadIAdelCrimen / VigasocoSDL

Versión headless y personalizada de VigasocoSDL para interactuar con la IA que intentará resolver el juego.
0 stars 0 forks source link

Corrupción pantalla tras /reset #6

Open luzbel opened 6 years ago

luzbel commented 6 years ago

En ocasiones tras un /reset en la pantalla aparecen varios personajes duplicados.

Adjunto capturas:

image

image

image

image

image

image

luzbel commented 6 years ago

Las primeras versiones de la interfaz web se programaron a lo loco , trastocando la lógica del juego. El /reset , por ejemplo, reinicia la lógica, pero lo hace desde el hilo del servidor web sin importarle dónde esté el bucle principal del juego. Un efecto colateral era que si haces el /reset mientras estas en la pantalla inicial , se reinicia la lógica, pero como no has cambiado de pantalla el motor de juego no refresca la pantalla y la pantalla se llena de Adsos y Guillermos (solo unos activos y el resto gráficos no refrescados). Para optimizar, el juego sigue el comportamiento del original y una vez pintas una pantalla, solo se va repintando la parte por donde van pasando los sprites . Como chapuza temporal , se resuelve con este commit https://github.com/luzbel/VigasocoSDL/commit/d50613b22f8480346a2779552d335f6e8f542ef2 , en la nueva interfaz el sistema es más limpio y no hay que andar modificando el bucle principal de juego.