Français   Automates cellulaires.
The turtles next step is determined by the color of the square it is currently on. If black, it inverts the color of the current square, turns left and moves one square forward. If green, it again inverts the color of the current square, turns right and moves one square forward. The result is a clump of altered squares, and then after around 10,000 steps a 'highway' which extends out forever. Le pas suivant de la tortue est déterminé par la couleur de la cellule sur laquelle elle se situe. Le résultat final est un bloc des cellules dont la couleur a été altérée. Ensuite, après environ 10.000 étapes, on distingue une route qui se prolonge dehors pour toujours....
# Commande principale: demarrer
pour new
# set defaults, screen, pen et tortue
init ftd [400 400]
fcfg noir fcc vert levecrayon cachetortue
fin

pour nextstep
donne "col item 2 trouvecouleur pos
fcc angcol baissecrayon avance 0 levecrayon
si :col = 0 [tournegauche 90 avance 6 stop]
si :col = 255 [tournedroite 90 avance 6]
fin

pour angcol
donne "num item 1 trouvecouleur pos
donne "red :num + 0.2 * (255-:num)
donne "green 255 - item 2 trouvecouleur pos
retourne phrase liste :red :green 0 # remplace :red with 0 repetepour b&w image
fin

pour demarrer
new ftc 4
repete 10700 [nextstep]
fin



Mettre ensuite le crayon en mode inversé. Pour cela, rajouter la commande inversecrayon en dernière instruction de la procédure new puis remplacer la procédure NextStep par celle-ci.
pour nextstep
tournedroite tronque 0.707*(item 2 trouvecouleur pos) + 90
avance 0 avance 6
fin

368 étapes génèrent alors une forme symétique.
Tester le programme maintenant

Procédure à exécuter:
demarrer