Igra života

„Igra života“ je stara programerska glavolomka pomoću koje se tinejdžeri uče da programiraju i analiziraju sopstveni kod. Cilj igre je simulacija razvoja (života i smrti) ćelija u jednom organizmu. Organizam je matrica proizvoljne veličine, a pravila su sledeća: ako je ćelija živa, a okružena sa 2 ili 3 žive ćelije, ona će preživeti. Ako postoji prazna pozicija, a okružena je sa 3 žive ćelije, rodiće se nova. Kako kreirati ovu simulaciju u Excel-u?

U našem primeru organizam čini matrica veličine 20×20 ćelija. Simulaciju vrše dva glavna i jedan pomoćni potprogram. Prvi ima za cilj da resetuje matricu, tj. da postavi vrednosti niza na nule, a zatim da metodom slučajnog izbora odredi koje su ćelije žive a koje ne. Drugi ima za cilj da proveri uslove i da, u zavisnosti od njih, odredi koje će živeti a koje umreti. Poslednji potprogram služi samo da obriše ćelije na radnoj površini.

Inicijalizaciju matrice počinjemo resetovanjem niza. Iako se život nalazi u matrici veličine 20×20, naš niz će biti veličine 22×22. Ovo je važno zbog računanja zbira ćelija koje okružuju one koje se nalaze na ivicama i uglovima matrice. Obrisaćemo ćelije, resetovati matricu postavljanjem članova niza na 0, a zatim iskoristiti Excel funkciju RANDBETWEEN kako bismo po, principu slučajnog izbora, izračunali gde su žive ćelije unutar matrice 20×20. Da bismo malo „zakomplikovali“ stvari dodat je jedan Spin Button koji menja vrednost ćelije AF2 u rasponu od 1 do 5. Što je ovaj broj veći to će inicijalno biti generisano manje ćelija. Nakon ovog postupka žive ćelije u matrici dobijaju vrednost 1, a mrtve (prazne pozicije) 0.

Drugi potprogram koristimo za proveru i promenu statusa života pojedinačnih ćelija. Pomoću dve ugnježdene petlje koje idu od 1 do 20 proverava se svaka vrednost u matrici i računa se zbir ćelija koje je okružuju. Ako na poziciji nema života (vrednost 0), a okružuju je tri ćelije, rodiće se nova ćelija. Ako živu ćeliju (vrednost 1) okružuju 2 ili 3 susedne ona će preživeti, a ako ih je manje ili više ona će umreti. Na kraju ćemo iskoristiti još jednu dvostruku petlju kako bismo na zadatim pozicijama ispisali žive i mrtve ćelije.

Simulaciju započinjemo klikom na dugme RESET (prvi potprogram), a prelazak iz faze u fazu obavljamo klikom na NEXT (drugi potprogram). Svakim sledećim klikom gledaćete kako se kaleidoskop života menja. Igrajte se, a kada vam dosadi promenite pravila igre pa gledajte šta će da se desi.

„Igra života“ je simulacija koju sam prvi put kreirao davne 1989. godine a sa njom me je upoznao Vlada Kostić, tadašnji predavač škole računara Instituta za nuklearne nauke „Vinča“ čiji sam kurs pohađao. Sada sam ja u ulozi onog ko prenosi znanje dalje, a ako neko želi da dobije Excel fajl sa simulacijom može da me kontaktira.