Programujemy grę w życie

17-11-2019

W tym roku szkolnym swoją działalność rozpoczęło Szkolne Koło Programistów CKZiU. Najczęściej spotykamy się na Discordzie, ale ostatnio postanowiliśmy zorganizować pierwsze stacjonarne spotkanie koła, na którym obecni byli uczniowie, uczennica oraz absolwenci 🙂

Tematem spotkania było programowanie gry w życie według reguł brytyjskiego matematyka Johna Conwaya, a wykorzystywaną technologią był czysty JavaScript.

Gra w życie to jeden z pierwszych i najbardziej znanych przykładów automatu komórkowego. Za pomocą dwóch prostych reguł można tworzyć ciekawe struktury. Jak nam poszło?

W HTMLu umieściliśmy tylko diva pełniącego funkcję kontenera oraz przyciski nawigacyjne:

See the Pen
CKZiU Jaworzno – Conway’s Game of Life
by Vladimir (@wlodku)
on CodePen.

Dodaliśmy szczyptę CSSów:

See the Pen
CKZiU Jaworzno – Conway’s Game of Life
by Vladimir (@wlodku)
on CodePen.

Nadszedł czas na kodowanie. Utworzyliśmy dwuwymiarową tablicę, która trzyma komórki. Szybko okazało się, że konieczne jest utworzenie drugiej, „wirtualnej” tablicy, która będzie przetrzymywała aktualny stan gry. Narysowaliśmy grida oraz dodaliśmy funkcje nasłuchujące zdarzenia na każdym divie, aby za pomocą kliknięcia można było „ożywiać” lub „uśmiercać” komórki.

Najbardziej karkołomną okazała się funkcja, która miała zliczać żywych sąsiadów. W czasie zajęć napisaliśmy bezwstydnie prostacki i rozwlekły kod, ale niektórzy uczniowie w czasie pracy indywidualnej poradzili sobie o wiele lepiej. Na przykład tak:

Całość prezentowała się następująco:

See the Pen
CKZiU Jaworzno – Conway’s Game of Life
by Vladimir (@wlodku)
on CodePen.

A oto rezultat naszej pracy:

Wszystkich programistów z Elektrowni zapraszamy do dołączenia do naszego serwera na Discordzie. Dzięki za spotkanie i do następnego!

Włodzimierz Bubak

Ilość odsłon: 537

wstecz

Kontakt



Centrum Kształcenia Zawodowego i Ustawicznego

 ul. Promienna 65, 43-603 Jaworzno

 sekretariat@ckziu.jaworzno.pl

 32 76 29 100

Używamy ciasteczek. Czytaj więcej.