Atölye › Conway'in Hayat Oyunu › 25/32. adım
Sıradaki hedef: basılı tutup sürükleyerek bir çizgi boyamak. Sürüklerken her hücrede şunu bilmemiz gerekecek: "şu an boyuyor muyuz, siliyor muyuz?"
Karar, basıldığı an verilir: ölü bir hücreye bastıysan canlı boya (1), canlı bir hücreye bastıysan silgi
(0). Bu kararı painting değişkeninde tutacağız. Parmak kalkıkken painting null olacak: "hiçbir şey boyanmıyor".
```js
let painting = null // while the pointer is down: the value being painted, 1 or 0
// Pressing on a dead cell paints live cells as you drag; pressing on a live one erases.
canvas.addEventListener('pointerdown', (event) => {
const cell = cellAt(toCanvas(event))
if (!cell) return
painting = grid[cell.r][cell.c] ? 0 : 1
grid[cell.r][cell.c] = painting
})
```let painting = null → başta null: parmak kalkık, hiçbir şey boyanmıyor.painting = grid[cell.r][cell.c] ? 0 : 1 → basılan hücrenin tersi: canlıya bastıysan 0 (silgi), ölüye
bastıysan 1 (boya).grid[cell.r][cell.c] = painting → o değeri basılan hücreye yazar. Tek tıklama yine eskisi gibi hücreyi çevirir;
fark, kararın artık hatırlanması.let frames satırının altına let painting = null ... satırını yaz.canvas.addEventListener('pointerdown', ... satırının üstüne yorum satırını yaz.grid[cell.r][cell.c] = grid[cell.r][cell.c] ? 0 : 1) sil; yerine iki
painting satırını yaz.Beceriler: Oyun durumları
← Hücreye tıkla Sürükleyerek boya →