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

Boya mı sil mi?

Ne yapıyoruz

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
})
```

Ne işe yarıyor

Sıra sende

  1. let frames satırının altına let painting = null ... satırını yaz.
  2. canvas.addEventListener('pointerdown', ... satırının üstüne yorum satırını yaz.
  3. Dinleyicinin içindeki son satırı (grid[cell.r][cell.c] = grid[cell.r][cell.c] ? 0 : 1) sil; yerine iki painting satırını yaz.
  4. Çalıştır: tıklamak eskisi gibi çalışmalı.

Beceriler: Oyun durumları

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