Hra Život – variácie rozmnožovania

Základné pravidlá hry sú

Pravidlá pre rozmnožovanie:

  • Na políčku, okolo ktorého sú presne 3 bunky, narodí sa nová bunka.

Pravidlá pre umieranie:

  • Bunka, v okolí ktorej je  0 alebo len jedna bunka, zomiera na osamelosť.
  • Bunka, v okolí ktorej sú 4 až 8 buniek, zomiera na preľudnenie.

Môžeme upravovať počet buniek potrebných na prežitie a rozmnožovanie. Môžeme tiež meniť podmienky, za akých bunka umiera.

Môžeme pridávať nové parametre – dĺžka života bunky. Každá nová bunka sa narodí napríklad s počtom životov 5. V každom kroku sa odráta jeden život. Ak bunka neumrie podľa pravidiel, umrie keď stratí všetky životy.

Môžeme ešte zmeniť systém vyhodnocovania. Klasický systém vyhodnocovania je, že v nasledujúcom kroku cyklom prejdeme celú hraciu plochu a vyrátame, či má byť na danom políčku bunka, alebo nie. Na konci tohto cyklu nastavíme všetky políčka hracej plochy podľa výpočtu. Alternatívou môže byť, že nastavujeme políčka priebežne. Takto sa môže stať, že nejaká bunka v 3. riadku by umrela na osamelosť, ale počas vyhodnocovania druhého riadku sa v jej blízkosti narodila nová bunka a tak ju zachránila. (Avšak sa môže stať aj opak.) Inou alternatívou je, že vyhodnocujeme políčka náhodne. Táto náhodnosť by mohla symbolizovať to, že kažká bunka je rôzne „lenivá“ v obzeraní sa po svojich susedoch.

Môžeme skúsiť použiť aj metódy objektovo orientovaného programovania. Každé políčko by bol jeden objekt. Ten by mal definovaný stav živý/mŕtvy. Tiež by mal definovaných svojich susedov (napríklad pomocou smerníkov). Pri vyhodnocovaní by sa objekt pozrel na svojich susedov, a zistil by, či má umrieť, ostať žiť, alebo ožiť. Takýto objektový prístup by umožňoval ešte viacej variácií pravidiel:

  • Každé políčko, teda objekt, by mal vlastný časovač (timer), ktorý by spúšťal vyhodnocovaciu funkciu. Vyhodnocovanie by sa teda nedialo v cykle prechodom cez celé pole, ale každý objekt by raz za svoj čas zavolal akciu.
  • Rozmožovanie by sa nemuselo vykonávať spôsobom, že mŕtve políčko ožije. Ale napríklad spôsobom, že živý objekt za určitých okolností oživí jedného svojho suseda.
  • Hracia plocha by nemusela byť nutne dvojrozmerná mriežka, teda každé políčko by nemuselo mať nutne 8 susedov, ale hoci aj 9.

Súvisiace články:

Hra Život – úvod
Hra Život – variácie plochy
Hra život v jazyku Basic