Je suis en train d'écrire un peu de tile-based jeu, pour lequel je tiens à l'appui de sources de lumière. Mais mon algorithme-fu est trop faible, donc je viens à vous pour vous aider.
La situation est comme cela: Il y a une carte (tenue comme un tableau 2D), contenant une seule source de lumière et de plusieurs éléments debout autour de lui. Je veux calculer dont les tuiles sont illuminés par la lumière de la source, et qui sont dans l'ombre.
Une aide visuelle de ce qu'il pourrait ressembler, environ. Le L est la source de lumière, les x sont des éléments de blocage de la lumière, les 0 sont allumés tuiles, et le-s sont des tuiles dans l'ombre.
0 0 0 0 0 0 - - 0
0 0 0 0 0 0 - 0 0
0 0 0 0 0 X 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 L 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 X X X X 0 0
0 0 0 - - - - - 0
0 0 - - - - - - -
Une fraction de système serait encore mieux, bien sûr, où une tuile peut être dans la demi-ombre en raison d'être partiellement obscurcie. L'algorithme ne doit pas être parfait, mais qui ne sont pas manifestement mal et assez rapide.
(Bien sûr, il y aurait plusieurs sources de lumière, mais c'est juste une boucle.)
Les élèves?