Atölye › Mayın Tarlası › 3/26. adım

Tarlayı çiz

Ne yapıyoruz

Tarlayı görelim. Her hücre 40 piksellik (CELL) gri bir kare olacak. En üstte 40 piksellik (TOP) bir şerit boş kalacak: mayın sayacı ve saat oraya gelecek.

Çizerken hücrenin hangi satırda olduğu önemli değil; hepsini sırayla çizmek yeter. grid.flat() iç içe diziyi 81 hücrelik tek bir listeye düzleştirir.

```js
const CELL = 40
const TOP = 40 // room for the mine counter and the timer

function draw() {
  ctx.fillStyle = '#1e293b'
  ctx.fillRect(0, 0, canvas.width, canvas.height)

  for (const cell of grid.flat()) {
    const x = cell.col * CELL
    const y = TOP + cell.row * CELL
    ctx.fillStyle = '#94a3b8'
    ctx.fillRect(x + 1, y + 1, CELL - 2, CELL - 2)
  }
}

newGame()
draw()
```

Ne işe yarıyor

Sıra sende

  1. const SIZE = 9 satırının altına CELL ve TOP satırlarını yaz.
  2. En alttaki newGame() satırının üstüne draw fonksiyonunu yaz; arada bir boş satır kalsın.
  3. newGame() satırının altına draw() yaz.
  4. Çalıştır: üstte boş bir şerit ve altında 9×9 gri kareler görmelisin.

Beceriler: Canvas üzerine çizim, Döngüler

Tüm adımlar

  1. Hücre nesnelerinden bir ızgara
  2. Tuval ve kalem
  3. Tarlayı çiz
  4. Her karede çiz
  5. Komşular
  6. Mayınlar, ama ilk tıklamanın altına değil
  7. Adayları karıştır
  8. Çevredeki mayınları say
  9. Hücre aç
  10. Açık hücre farklı görünür
  11. Renkli sayılar
  12. Tıkla ve aç
  13. Mayına basmak
  14. Mayınları göster
  15. Taşma dolgusu
  16. Sağ tuşla bayrak
  17. Bayrak hücresini korur
  18. Bayrakları çiz
  19. Kalan mayınlar
  20. Kazanmak
  21. Son ve yeni oyun
  22. Saat kaç?
  23. Saat
  24. Saati durdur
  25. En iyi süre
  26. Kendin yap: yanlış bayraklar