Wyjście Spis treści Poprzedni Następny
Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor: mgr Jerzy Wałaszek, wersja 3.0 |
©2008 mgr
Jerzy Wałaszek |
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ł:
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.
Jeśli w otaczających organizm komórkach jest dwóch lub trzech żywych sąsiadów, organizm przeżywa do następnego pokolenia.
Jeśli pusta komórka posiada dokładnie trzech żywych sąsiadów, to rodzi się w niej nowy organizm.
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 |
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