La fourmi de Langton

Dans cet exercice, vous aller métamorphoser votre buggle en une fourmi de Langton. Ces petits animaux artificiels sont très intéressants parce qu'ils suivent des règles simples qui dépendent seulement de leur environnement local, et qu'après une période d'un comportement d'apparence chaotique, un schéma général apparaît

Les règles sont absolument triviales: pour calculer quel sera le prochain pas, vous devez regarder la couleur actuelle du sol ( en utilisant getCouleurSol()). Si c'est blanc, changez la en noir, tournez à droite et avancez d'une case. Si la couleur du sol est le noir, changez la en blanc, tournez à gauche et avancez d'une case.

Il est difficile de trouver des règles plus simples, n'est-ce pas ? Et bien, allons-y et codons-les maintenant. Vous avez à compléter la méthode step(), qui définit le comportement de la fourmi à chaque pas. Vous utiliserez probablement la méthode getCouleurSol() pour récupérer la valeur de la case sur laquelle la fourmi se trouve. Les couleurs intéressantes sont tout simplement Color.black pour le noir ou Color.white pour le blanc.

[!java]

Pour comparer les couleurs, il n'est pas possible d'utiliser le double signe égal (==) parce ces choses ne sont pas des valeurs scalaires normales mais des objets. À la place, vous devez écrire quelque chose comme cela :

Color c /* = une initialisation*/;
if (c.equals(Color.black)) {
  /* c'était égal */
} else {
  /* ce n'était pas égal */
}
[/!]

Changer la couleur du sol n'est pas difficile, seulement un peu long : vous avez à changer la couleur de la brosse de votre buggle, l'abaisser (pour marquer la case courante -- avec baisseBrosse()), et relever la brosse (avec leveBrosse()) pour éviter des problèmes lorsque la buggle va se déplacer. Vous êtes naturellement libre d'organiser votre code comme vous le souhaitez, mais vous pouvez vouloir écrire une méthode setCouleurSol(couleur) pour factoriser le tout.

Comme vous pouvez le constater avec l'exécution de cet exercice, l'intérêt dans cet algorithme est qu'après environ 10 000 pas de comportement relativement chaotique, la fourmi commence à suivre un schéma régulier. L'émergence de ce schéma régulier à partir du chaos est réellement fascinant, n'est-ce pas ? Passez à l'exercice suivant pour en voir plus.