Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: xaps en 7 Diciembre 2013, 18:51 pm



Título: Algoritmo para pintar el interior de una figura en una matriz (¿BFS?)
Publicado por: xaps en 7 Diciembre 2013, 18:51 pm
Estoy desarrollando un juego en el que nuestro personaje se encarga de pintar una superficie (una matriz a nivel de código). El problema es que quiero implementar que una vez ha pintado el relieve de una figura cerrada, se pinte también el interior.

(http://s2.subirimagenes.com/imagen/previo/thump_8726966image.png)

El funcionamiento del juego es como el de cualquier tile-based game: El mapa es una matriz de enteros. Cada posición contiene un entero que determina que textura tendrá esa casilla y si el personaje puede pasar por encima de ella. Por lo tanto, podemos definir que las casillas se encuentran inicialmente en 0 (excepto los muros, que diremos que son -1), y que cuando pasan por encima, cambiamos su valor a 1.

Entonces, el problema a nivel de código es identificar en una matriz una figura cerrada hecha a base de 1s. Había pensado en un BFS, pero no estoy seguro de que sea la mejor opción. ¿Se os ocurre algún otro método más eficiente para hacer esto?

Saludos y gracias.