Back
Close

Exercices Papers animés - La fourmi de Langton - Enoncés

Pedro77
1,575 views

Exercice 1 - La fourmi de langton, v1 : 8 étapes, grille de 8 x 8 (centrée en 3,3), cases de 25 pixels de côtés, une étape dure 0.5s, fourmi initialement tête en haut

Commençons par une petite "séance cinoche" :

(Télécharger)

Le challenge consiste à reproduire les animations de David Louapre (le vidéaste de la chaîne "science étonnante" que vous venez de voir dans la vidéo).

Dans ce premier exercice, on va s'attaquer à la toute première animation (sans dessiner la fourmi, bien sûr !) : https://youtu.be/qZRYGxF6D3w?t=73 (Télécharger)

Pour cela, nous allons coder les règles de déplacements de la fourmi :

  • si la case sous la fourmi n'est pas coloriée, elle colorie cette case, puis elle tourne d'1/4 de tour à droite, puis elle avance d'une case ;
  • si la case sous la fourmi est coloriée, elle efface la couleur de cette case, puis elle tourne d'1/4 de tour à gauche, puis elle avance d'une case.

Pour cet exercice, on se limite à 8 étapes (8 répétitions), afin d'obtenir ce résultat (sans la fourmi) :

fourmi1

Quelques remarques

Notez que dans le titre "Exercice 1 - ..." figurent des indications à respecter pour une animation fluide et claire.

On pourrait croire que cet exercice est le plus facile car le résultat n'est pas très impressionant, mais c'est le contraire, une fois cet exercice bien réussi, les autres (fourmi v2, v3, v4 et v5) ne sont plus que quelques ajustements à faire !

La difficulté de l'exercice n'est pas tant dans l'implémentation des règles simples énoncées plus haut, mais il va surtout falloir trouver un moyen de "se mettre dans la peau de la fourmi" et donc essayer de :

  • trouver une manière d'indiquer et de mémoriser la direction vers laquelle la fourmi regarde (vers le haut, la gauche, la droite ou vers le bas) ;
  • d'écrire une fonction par déplacement possible de la fourmi :
    • une qui fait tourner la fourmi d'1/4 de tour vers la droite puis avancer d'une case ;
    • l'autre qui fait tourner la fourmi d'1/4 de tour vers la gauche puis avancer d'une case.

Bon travail !

Exercice 1
#include <stdio.h>
#include <stdlib.h>
#include "paper.h"
int main()
{
return 0;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants