Projet 2

Partie 1: Automates bicolores

Règle 57

Il s'agit de prolonger ce qui a été fait en T.P

Une fonction initialiseRegles(numRegle) étant donnée, on peut visualiser tous les automates de la règle 1 à la règle 255

Questions

  1. Définir une fonction afficheRegles(regles) qui affiche le tableau2D des règles
  2. Définir la fonction etatSuivant(.....) qui retourne un booléen l'état futur de la cellule
  3. Définir une fonction initSimple(position) qui retourne un liste de NB_CELLULES de booléens False sauf celui d'indice position qui est True
  4. Définir une fonction generation(noRegle) qui génère et dessine la colonie sur NB_JOURS suivant la règle noRegle

    On utilisera la fonction vue en TP

    On utilisera la fonction dessineColonie(colonie,numGen)

  5. Allez voir ici et explorez les différentes règles

Partie 2: Automates tricolores

Maintenant une cellule peut avoir trois états numérotés 0,1 ou 2

Par contre l'état futur d'une cellule dépend de la somme des états des deux voisins et ce la cellule elle même, donc au minimum c'est 0 au maximum c'est 6

Autrement dit une règle d'évolution est un nombre sur 7 bits écrit en base 3

Questions

  1. Définir une fonction decToTri(num) qui convertit un nombre écrit en base 10 en base 3 sous la forme d'une liste
  2. Définir une fonction initTriSimple(position) qui retourne un liste de NB_CELLULES de 0 sauf celui d'indice position qui est 2
  3. Définir une fonction generationTri(noRegle) qui génère et dessine la colonie sur NB_JOURS suivant la règle noREgle

    On utilisera la fonction dessineColonieTri(colonie,numGen)

  4. Explorez différentes règles

Documents à rendre pour le 14/11/19

Le squelette du code à télécharger ici et à compléter et à remettre à votre nom.py

Des copies d'écran des automates qui vous ont plu (faire varier les couleurs)