Atölye › Conway'in Hayat Oyunu › 5/32. adım
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()
```let grid → bir değişken açar: adı grid olan bir kutu. const'tan farkı: let ile açılan kutunun içi
sonradan değiştirilebilir (grid = ...). Şimdilik boş; içini reset dolduracak.// grid[row][col]: ... → satırın sonundaki yorum: kendimize not.const emptyGrid = () => ... → fonksiyonun kısa yazılışı: "emptyGrid adında, => işaretinin sağındakini
hesaplayıp geri veren bir fonksiyon".Array(COLS).fill(0) → 60 kutuluk bir liste yapar ve hepsini 0 ile doldurur: tek bir satır.Array.from({ length: ROWS }, () => ...) → 48 elemanlı bir liste yapar; her eleman için sağdaki küçük fonksiyonu
çağırır. Yani 48 ayrı satır.function reset() { grid = emptyGrid() } → dünyayı baştan kuran fonksiyon: grid kutusuna yepyeni, bomboş bir
ızgara koyar.reset() → çizmeden önce dünyayı kur.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.
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.draw() satırının hemen üstüne reset() yaz.Beceriler: Diziler ve nesneler
← Çizen bir fonksiyon Her canlı hücreyi çiz →