Automat komórkowy¶
Zaimplementuj automat komórkowy, w którym aktywne komórki mogą się przemieszczać i podlegają regułom, zdefiniowanym przez użytkownika. Zaimeplementowana hierarchia klas powinna umożliwić symulację Gry w Życie, Mrówki Langtona, czy … pandemii wirusa.
Zaimplementuj w tym celu następujące klasy:
World- reprezentującą planszę na której toczy się gra
Cell- pojedyncza komórka
Fate- enum definiujący los komórki
Rule- reprezentujaca pojedynczą regułę, sterującą zachowaniem komórki, np podział lub jej śmierć
Condition- reguła rządząca światem, mająca wpływ na los komórki
Program główny symulacji powinien wyglądać mniej więcej tak:
max_iter = 1000
w = World(100,100, n_cells = 800)
for i in range(max_iter):
for a in w.cells():
a.apply_rules()
w.apply_condition(a)