Atölye › Conway'in Hayat Oyunu › 23/32. adım
Artık noktayı biliyoruz; şimdi o noktanın hangi hücreye düştüğünü bulacağız. Bu, çizimin tersi: çizerken hücreden
piksele gitmiştik (c * CELL), şimdi pikselden hücreye dönüyoruz (x / CELL).
```js
function cellAt({ x, y }) {
const r = Math.floor((y - TOP) / CELL)
const c = Math.floor(x / CELL)
return r >= 0 && r < ROWS && c >= 0 && c < COLS ? { r, c } : null
}
```function cellAt({ x, y }) → parantezdeki { x, y }: "gelen nesnenin x'ini ve y'sini al, bu adlarla kullan".Math.floor → sayıyı aşağı yuvarlar: Math.floor(10.6) = 10. x = 85 ise 85 / 8 = 10.6 → 10. sütun.(y - TOP) / CELL → satır için önce üstteki TOP şeridini çıkarırız; ızgara oradan başlıyor.koşul ? { r, c } : null → nokta ızgaranın içindeyse hücreyi, değilse null verir. null "hiçbir şey"
demektir (örneğin üstteki yazı şeridine tıklanınca).{ r, c } → { r: r, c: c }'nin kısa yazılışı.toCanvas'ın altına, function update() { satırının üstüne cellAt fonksiyonunu yaz; üstünde ve altında birer
boş satır kalsın. Çalıştır.
Beceriler: Klavye ve fare girdisi
← İşaretçi nerede? Hücreye tıkla →