conway5.py

Created by florian-allard

Created on July 22, 2020

891 Bytes


from kandinsky import draw_string
from random import randint
a = 37 #222//6=36
b = 53 #320//6=53
A = range(a)
B = range(b)
Liste = [[0 for col in B] for lig in A]
for lig in A:
  for col in B:
    Liste[lig][col] = 2*randint(0,1)
    if Liste[lig][col] == 2:
      draw_string(chr(176),6*col,6*lig-1,'blue')

for gen in range(50):
  for i in A:
    for j in B:
      Voisins = 0
      for k in [-1,0,1]:
        for l in [-1,0,1]:
          if [k,l] != [0,0] and Liste[(i+k)%a][(j+l)%b]**2 > 3:
            Voisins += 1
      if Voisins == 3 or ( Liste[i][j] > 0 and Voisins == 2 ):
        Liste[i][j] += 1 #Une cellule tout juste créée est à 1
        couleur = 'blue'
      else:
        Liste[i][j] *= -1
        couleur = 'white'
      if Liste[i][j] != 0:
        draw_string(chr(176),6*j,6*i-1,couleur)
  Liste = [[2*(max(0,Liste[m][n]+2)//3) for n in B] for m in A]