Spread
La lumière est un élément clé du jeu Minecraft. En voulant en savoir plus, j'ai réfléchi à un algorithme effectuant le même traitement en 2 dimensions. C'est ainsi qu'est né ce petit programme nommé Spread.
J'ai choisi ce nom (spread = répandre en anglais) car il s'agit de diffuser de la lumière, un fluide (ou que sais-je) sur une grille composée de cellules (analogie aux blocs de Minecraft). De plus, cet algorithme ressemble énormément à celui utilisé pour l'eau et la lave !
J'ai ajouté un petit plus à mon programme pour mieux comprendre son fonctionnement : il permet de visualiser l'évolution de l'algorithme en cours d'exécution (les étapes que l'on ne voit pas entre l'allumage de la lumière et son apparition).
Télécharger le code source (lien à venir...)
Sous Windows, certaines parties de la fenêtre se dessinent mal ou ne s'effacent pas. Cela est flagrant lorsque la fenêtre est mise en plein écran. Si vous laissez la fenêtre à ses dimensions d'origine, ça ne devrait pas gêner (le programme a été compilé sous Linux avec Eclipse et OpenJDK).