Życie - opis


Podrozdziały:

 

Gra w Życie (ang. Game of Life) została wynaleziona około roku 1970 przez Johna Conwaya i opisana w czasopiśmie "American Scientific". Gra pozwala symulować życie, rozwój oraz śmierć żywych organizmów i rozgrywana jest na nieskończonym polu komórek. Każda komórka posiada dokładnie 8 przyległych do niej sąsiadów. W komórce może żyć organizm lub nie. Nowe pokolenie organizmów powstaje wg następujących reguł:

Śmierć

Organizm umiera z samotności, jeśli w przyległych do niego komórkach jest mniej niż dwóch żywych sąsiadów. Organizm umiera z przeludnienia, jeśli w przyległych do niego komórkach jest więcej niż 3 żywych sąsiadów. Zatem śmierć następuje w przypadku, gdy otaczające organizm komórki zawierają 0,1,4,5,6,7 lub 8 organizmów.

Przeżycie

Jeśli w otaczających organizm komórkach jest dwóch lub trzech żywych sąsiadów, organizm przeżywa do następnego pokolenia.

Narodziny

Jeśli pusta komórka posiada dokładnie trzech żywych sąsiadów, to rodzi się w niej nowy organizm.

 

Implementacja

Komórki zajęte przez organizmy tworzą różne wzory geometryczne zmieniające się w każdym pokoleniu. Niektóre układy organizmów powodują wymarcie kolonii, inne z kolei dają w efekcie cykliczny rozwój żywych komórek. Badanie tych układów może być bardzo ciekawym zajęciem.

W naszej implementacji zrezygnujemy z nieskończonego pola gry, które raczej trudno uzyskać w skończonej pamięci komputera. Plansza będzie złożona z matrycy komórek ułożonych w 23 wiersze po 78 kolumn. Taka matryca zmieści się bez problemów w okienku konsoli znakowej, a wokół pola gry będziemy mieli wolną przestrzeń o szerokości 1 znaku.

Chociaż pole nie będzie nieskończone, to jednak jego krawędź górna zostanie połączona z dolną, a prawa z lewą. Dzięki temu, każda komórka zawsze będzie posiadała 8 sąsiadów.

W pamięci plansza gry zostanie zrealizowana w formie tablicy dwuwymiarowej. Ponieważ nowe pokolenie powstaje na podstawie sytuacji istniejącej w pokoleniu poprzednim, zatem musimy posiadać dwie takie tablice - z pokoleniem aktualnym oraz drugą, w której utworzymy następną generację żywych organizmów. Po tej operacji dane z drugiej tablicy przenosimy do pierwszej i wyświetlamy w okienku konsoli.

Program będzie interaktywny. W trakcie gry użytkownik może tworzyć w wybranych komórkach nowe organizmy lub usuwać je z komórek. Przyjmiemy następujący schemat klawiszy sterowania grą:

 

klawisz funkcja
klawisze kursora przemieszczanie aktywnej komórki po planszy gry
ESC zakończenie rozgrywki
spacja jeśli aktywna komórka jest pusta, to wprowadzamy tam nowy organizm. Jeśli natomiast w aktywnej komórce już jest organizm, to usuwamy go.
Enter przejście do następnego pokolenia
F1 pierwsze naciśnięcie powoduje automatyczną generację nowych pokoleń organizmów aż do momentu powtórnego naciśnięcia klawisza F1. Umożliwia to animację cyklicznych układów.
Delete usunięcie wszystkich organizmów z planszy gry.

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2024 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe