Ogólnie działa... ale zupełnie inaczej niż powinno wg definicji automatu komórkowego z tymże algorytmem - bo wariacji jest mnóstwo.
if(map[h][w] == 1 && alive == 2 || map[h][w] == 1 && alive == 3){ // Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; map[h][w] = 1; document.getElementById(h + "" + w).setAttribute("class", 'alive'); } else if(map[h][w] == 1 && alive < 2 || map[h][w] == 1 && alive > 3){ // przy innej liczbie sąsiadów umiera (z "samotności" albo "zatłoczenia"). map[h][w] = 0; document.getElementById(h + "" + w).setAttribute("class", 'cell'); } else if(map[h][w] == 0 && alive == 3){ // Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się) map[h][w] = 1; document.getElementById(h + "" + w).setAttribute("class", 'alive'); }
Cytat
- Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się)
- Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; przy innej liczbie sąsiadów umiera (z "samotności" albo "zatłoczenia").