Gra w życie

0

Witam ! ,
Mam do napisania prostą implementację gry w życie , tylko jej najprostsze zasady tj. :

  1. jeśli żywy osobnik ma co najwyżej jednego żywego sąsiada, to umiera z samotności.
  2. jeśli żywy osobnik posiada co najmniej czterech żywych sąsiadów, to umiera z przeludnienia.
  3. jeśli żywy osobnik posiada co najmniej dwóch i co najwyżej trzech żywych sąsiadów, to przeżywa.
  4. w pustej kratce rodzi się życie, jeśli sąsiaduje ona z dokładnie 3 kratkami zawierającymi żywe osobniki.
    Jednakże planszę muszę zaimplementować inaczej niż na liście / tablicy , tj. np. drzewo , tablica haszująca ,struktura ma być nieograniczona przestrzennie.
    Mógłby ktoś podpowiedzieć jak to mogę zrealizować ?
    Myślałem nad drzewem gdzie dzieci to sąsiedzi , lub tablicą haszującą gdzie hashcode to jakaś funkcja gdzie argumentem jest pozycja na planszy(wiersz, kolumna ) .
0

Jestem za hashmapą, gdzie kluczem jest np string stworzony jako: "wspolrzedna_x_zapisana_po_ludzku , wspolrzedna_y_zapisana_po_ludzku".
Po ludzku, to znaczy cyframi arabskimi w postaci czytelnej dla czlowieka - np. 123.
I dla kazdej komorki mozesz od biedy badac wszystkich jej sasiadow (jesli takowego nie ma, to znaczy, ze komorka jest pusta - wtedy badasz jej otoczenie i patrzysz, czy powinno sie tam cos pojawic - jesli tak, to do nowej hashmapy wstawiasz tam "komorke", analogicznie dla kazdego wpisu w hashmapie analizujesz, czy powinien on zginac, a jesli ma przezyc, to przepisujesz go do nowej hashmapy). Na koniec usuwasz stara hashmape i na jej miejsce wstawiasz nowa. I od nowa...

1 użytkowników online, w tym zalogowanych: 0, gości: 1