Atölye › Conway'in Hayat Oyunu › 5/32. adım

Hafızadaki dünya

Ne yapıyoruz

Ekrandaki resim dünyanın kendisi değil, sadece görüntüsü. Dünyanın kendisi bilgisayarın hafızasında duran sayılar: her hücre ya 1 (canlı) ya 0 (ölü).

Birden çok şeyi sırayla tutmak için dizi (array) kullanırız: bir alışveriş listesi gibi. Izgaramız satırlardan oluşan bir liste; her satır da 60 hücreden oluşan bir liste. Bu yüzden bir hücreye iki numarayla ulaşırız: grid[satır][sütun]. Bu adımda bütün hücreleri ölü olan bir ızgara kuruyoruz. Ekran değişmeyecek.

```js
let grid // grid[row][col]: 1 alive, 0 dead

const emptyGrid = () => Array.from({ length: ROWS }, () => Array(COLS).fill(0))

function reset() {
  grid = emptyGrid()
}

reset()
draw()
```

Ne işe yarıyor

Liste numaraları 0'dan başlar: grid[0] ilk satır, grid[47] son satır, grid[2][3] 2. satırın 3. hücresi.

Sıra sende

  1. const TOP = 36 satırının altında bir boş satır bırak; let grid satırını, emptyGrid'i ve reset fonksiyonunu kodda görüldüğü gibi, aralarında birer boş satırla yaz.
  2. En alttaki draw() satırının hemen üstüne reset() yaz.
  3. Çalıştır: ekran aynı kalmalı, kontroller yeşil olmalı.

Beceriler: Diziler ve nesneler

Tüm adımlar

  1. Oyun tahtası
  2. Izgarayı ölç
  3. Tek bir canlı hücre
  4. Çizen bir fonksiyon
  5. Hafızadaki dünya
  6. Her canlı hücreyi çiz
  7. Rastgele bir çorba
  8. Komşuları say
  9. Dört kural
  10. Tekrar tekrar çiz
  11. N ile sonraki nesil
  12. Nesilleri say
  13. Nesli göster
  14. Kenarsız bir dünya
  15. Canlıları say
  16. Birkaç karede bir nesil
  17. Yaşasın
  18. Çalışıyor mu?
  19. Düğmeler için tek bir yer
  20. Boşlukla oynat, N ile adım at
  21. Temizle ve karıştır
  22. İşaretçi nerede?
  23. Hangi hücre?
  24. Hücreye tıkla
  25. Boya mı sil mi?
  26. Sürükleyerek boya
  27. Metinden desenler
  28. Planör topu
  29. Topu ateşle
  30. Ekranda düğmeler
  31. Düğmelere dokun
  32. Kendin yap: duran dünya