TI/Gra w życie

Z Brain-wiki

Cześć wstępna

Napisz fukcję rysuj(macierz, axes=None) która narysuje macierz zer i jedynek.

>>> m = np.random.random((5,6)).round().astype(int)
>>> m
array([[0, 0, 1, 1, 0, 0],
       [1, 1, 0, 1, 0, 0],
       [0, 1, 0, 1, 0, 1],
       [0, 0, 1, 0, 0, 1],
       [0, 0, 0, 0, 0, 0]])
>>> rysuj(m)
Black-white.svg

Funkcja powinna zwracać obiekt axes zawierający rysunek.

W przypadku kiedy użytkownik poda argument axes, to powinien to być obiekt matplotlib.axes.AxesSubplot z matplotliba, na którym należy narysować rysunek, uprzednio go wyczyściwszy. Innymi słowy, po pierwszym wywołaniu funkcji, następne wywołania można wykonywać podając obiekt zwrócony przez pierwsze wywołanie jako argument, by rysować ciągle w tym samym okienku.

Część właściwa

Proszę zaimplementować grę "Conway's Game of Life" [1]. Po wylosowanie stanu początkowego, należy go narysować korzystając z funkcji rysuj z pierwsze zadania, po czym wykonać jedną kolejkę, narysować, itd. Gra powinna się zatrzymać jeśli wszystkie komórki zdechną.