Chapitre 16. Réutilisation des classes
Au chapitre 15, nous avons développé des classes pour mettre en œuvre le jeu de la vie de Conway. Nous pouvons réutiliser les classes Cell et GridCanvas pour mettre en œuvre d'autres simulations. L'un des jeux sans joueur les plus intéressants est le Langton's Ant, qui modélise une "fourmi" qui se promène sur une grille. La fourmi ne suit que deux règles simples :
Si la fourmi se trouve sur une case blanche, elle se tourne vers la droite, rend la case noire et avance.
Si la fourmi se trouve sur une case noire, elle se tourne vers la gauche, rend la case blanche et avance.
Comme les règles sont simples, on pourrait s'attendre à ce que la fourmi fasse quelque chose de simple, comme créer un carré ou répéter un motif simple. Mais en commençant sur une grille avec toutes les cellules blanches, la fourmi fait plus de 10 000 pas dans un schéma apparemment aléatoire avant de s'installer dans une boucle répétitive de 104 pas. Tu peux en savoir plus à ce sujet à l'adresse suivante : L'entrée "Fourmi de Langton" de Wikipédia.
Dans ce chapitre, nous présentons une solution à la fourmi de Langton et nous l'utilisons pour démontrer des techniques orientées objet plus avancées.
Fourmi de Langton
Nous commençons par définir une classe Langton qui possède une grille et des informations sur la fourmi. Le constructeur prend les dimensions ...