REKLAMA

Gra w Życie: podróż w nieznane z Johnem Conwayem

W kwietniu br., w wieku 82 lat, zmarł John Conway. Ten wyjątkowy angielski matematyk zasłynął przede wszystkim jako twórca słynnej „Gry w Życie" (ang. Game of Life): symulacji kryjącej w sobie szereg tajemnic i od wielu lat inspirującej kolejne pokolenia ludzi ciekawych świata i żądnych wiedzy. Równie fascynujący jak sama gra jest mechanizm jej implementacji: na pierwszy rzut oka banalny, w rzeczywistości jednak bardzo złożony i dotykający szeregu kluczowych zagadnień z zakresu inżynierii oprogramowania – być może dlatego „Gra w Życie” cieszy się od dawien dawna wielkim zainteresowaniem programistów. Poniższy artykuł, stanowiący hołd dla zmarłego matematyka, zaprasza cię w podróż po meandrach implementacji „Gry w Życie" – tam gdzie matematyka, filozofia i informatyka łączą się w intrygujący sposób...

Niektóre zagadnienia poruszane w tym obszernym artykule:

  • Tajemniczy świat prostych reguł;
  • Prototyp;
  • Wzorzec Gosper Glider Gun w postaci tablicy napisów w języku C
  • Projektowanie;
  • Definicja klasy i implementacja klasy Grid;
  • Definicja klasy i implementacja klasy Display;
  • Definicja klasy i implementacja GridDrawer;
  • GoLS: pętla główna aplikacji;
  • Implementacja: podejście pierwsze;
  • Pierwsze eksperymenty;
  • Powielony wzorzec Gosper Glider Gun – Obcy atakują!

Artykuł pochodzi z magazynu Programista nr 92 (5/2020). Jest to wydanie z przełomu sierpnia i września 2020 r. Szczegółowy spis treści wydania nr 92: https://programistamag.pl/programista-5-2020-92/

Autorem artykułu jest Rafał Kocisz. Od prawie dwudziestu lat pracuje w branży związanej z produkcją oprogramowania. Aktualnie zatrudniony w roli Starszego Kierownika Projektów w firmie intive.