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

Saat

Ne yapıyoruz

Saat ilk tıklamada başlasın; sayfa açılınca değil (yoksa tahtaya bakmak cezalandırılırdı). Başlangıç anını startTime'da saklarız. Ekrandaki saniyeyi bir değişkende tutmayız; her çizimde now ile startTime arasındaki farktan hesaplarız.

```js
let startTime

  startTime = 0

    state = 'playing'
    startTime = now

  const seconds = state === 'ready' ? 0 : Math.floor((now - startTime) / 1000)

  ctx.textAlign = 'right'
  ctx.fillText('⏱ ' + seconds, canvas.width - 10, TOP / 2)
```

Ne işe yarıyor

Sıra sende

  1. let state ... satırının altına let startTime yaz; newGame'in sonuna startTime = 0 yaz.
  2. reveal içinde state = 'playing' satırının altına startTime = now yaz.
  3. draw içinde const flags ... satırının altına const seconds ... satırını yaz.
  4. 💣 satırının altına iki saat satırını yaz.
  5. Çalıştır ve tıkla: sağ üstte saniyeler saymalı.

Beceriler: Oyun durumları, Oyun döngüsü

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