Atölye › Candy Crush Tarzı Üçlü Eşleştirme › 24/29. adım

Beş saniye sonra ipucu

Ne yapıyoruz

Aynı fonksiyon bir özellik daha veriyor: ipucu. Oyuncu beş saniye hiçbir şey yapmazsa olası bir hamleyi gösterelim.

Boşta geçen kareleri sayıyoruz: idleFor. 300 kare (saniyede 60 kare × 5) olunca hint = hasMove(). Bir hamle yapılınca sayaç da ipucu da sıfırlanır. Bu adımda ipucunu yalnız hesaplıyoruz; çizimi bir sonraki adımda.

```js
let idleFor // frames since the last move
let hint // a possible move, shown after five idle seconds

function reset() {
  // ...
  idleFor = 0
  hint = null
}

function trySwap(a, b) {
  // ...
  chain = 0
  idleFor = 0
  hint = null
  startClearing()

function update() {
  // ...
  if (phase === 'falling') {
    // ...
    return
  }
  idleFor += 1
  if (idleFor === 300) hint = hasMove()
}
```

Ne işe yarıyor

Sıra sende

  1. let drop ... satırının altına let idleFor ... ve let hint ... yaz.
  2. reset içinde en sona ve trySwap içinde chain = 0 satırının altına idleFor = 0 ve hint = null yaz.
  3. update içinde 'falling' bloğunun kapanan } satırının hemen üstüne (else { ... } bloğunun altına) return yaz; fonksiyonun en sonuna iki idleFor satırını yaz.
  4. Çalıştır: ekran değişmez; kontroller ipucunu deniyor.

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

Tüm adımlar

  1. Tahtanın yeri
  2. Damalı ızgara
  3. Oyun döngüsü
  4. Rastgele mücevherli tahta
  5. Mücevherleri çiz
  6. Eşleşmesiz başla
  7. Bir mücevhere tıkla
  8. Seçimi göster
  9. İki komşuyu takas et
  10. Bütün eşleşmeleri bul
  11. Eşleşme yoksa takas yok
  12. Skor ve yeni başlangıç
  13. Eşleşeni sil
  14. Mücevherler düşsün
  15. Silmenin iki yarısı
  16. Silmeden önce bekle
  17. Yanıp sön, dokunma
  18. Zincirleme
  19. Mücevher nereden geldi
  20. Kayarak in
  21. Üstün altından çık
  22. Hiç hamle var mı?
  23. Asla sıkışma
  24. Beş saniye sonra ipucu
  25. İpucunu göster
  26. Yirmi hamle
  27. Oyunun sonu
  28. En iyi skoru hatırla
  29. Kendin yap: kaydırarak takas