Atölye › Köstebek Vurmaca › 10/18. adım

Başlamak için tıkla

Ne yapıyoruz

Oyun 30 saniyelik bir tur olacak. Tur başlamadan çayır "Click to start" (başlamak için tıkla) yazısıyla beklesin; ilk tıklama turu başlatan start fonksiyonunu çağırsın.

Oyunun bir durumu var: 'ready' (hazır), 'playing' (oynanıyor), 'over' (bitti). Köstebekler yalnız 'playing' sırasında çıkar.

```js
const ROUND = 30000 // a round lasts 30 seconds
let state = 'ready' // 'ready', 'playing' or 'over'
let endsAt = 0

function start() {
  state = 'playing'
  score = 0
  endsAt = now + ROUND
  nextPop = now
  for (const hole of holes) hole.upUntil = 0
}

  if (state !== 'playing') {
    start()
    return
  }

  if (state !== 'playing') return

  ctx.textAlign = 'center'
  if (state === 'ready') {
    ctx.fillText('Click to start', canvas.width / 2, canvas.height / 2)
  }
```

Ne işe yarıyor

Sıra sende

  1. const HOLE_R = 40 satırının altına ROUND; let score = 0 satırının altına state ve endsAt satırlarını yaz.
  2. pointerdown dinleyicisinin üstüne start fonksiyonunu yaz; dinleyicinin ilk satırlarına başlatma kontrolünü yaz.
  3. update'in ilk satırı if (state !== 'playing') return olsun.
  4. draw'ın sonuna, bir boş satırdan sonra ortalanmış "Click to start" bloğunu yaz.
  5. Çalıştır ve tıkla.

Beceriler: Oyun durumları

Tüm adımlar

  1. Yeşil bir çayır
  2. Dokuz delik
  3. Delikleri çiz
  4. Saat ve döngü
  5. Delikte bir köstebek
  6. Köstebekler çıkıyor
  7. Hangi deliğe tıklandı?
  8. Vur!
  9. Skoru göster
  10. Başlamak için tıkla
  11. Süre işliyor
  12. Süre bitti
  13. En iyi skor
  14. Turun neresindeyiz?
  15. Giderek hızlan
  16. Her vuruşu hatırla
  17. Yükselen +1
  18. Kendin yap: kombo