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

Zincirleme

Ne yapıyoruz

Düşen ve yeni gelen mücevherler kendiliğinden sıraya girebilir. Oyunun en güzel anı bu: zincirleme (cascade). Sen bir hamle yaparsın, tahta birkaç tur kendi kendine patlar.

Yeni bir evre ekliyoruz: 'falling' (düşüyor). collapse bittiğinde oyun bu evreye geçer; sonra update bakar: yeni eşleşme var mı? Varsa yeniden silme evresi, yoksa 'idle'.

Zincirin her turu daha değerli: ilk silme mücevher başına 10, ikincisi 20, üçüncüsü 30 puan. Kaçıncı turda olduğumuzu chain (zincir) sayar.

```js
let chain // how many clears in a row this move has caused
let phase // 'idle', 'clearing' (matched gems flash) or 'falling'

function trySwap(a, b) {
  // ...
  chain = 0
  startClearing()
  return true
}

function startClearing() {
  matched = findMatches()
  chain += 1
  score += matched.size * 10 * chain // cascades are worth more and more
  // ...
}

function collapse() {
  // ...
  phase = 'falling'
}

function update() {
  // ...
  if (phase === 'falling') {
    // Landed: new matches make a cascade; otherwise the move is over.
    if (findMatches().size > 0) startClearing()
    else phase = 'idle'
  }
}
```

Ne işe yarıyor

Sıra sende

  1. let phase satırının üstüne let chain ... yaz; let phase yorumunu koddaki gibi yap.
  2. trySwap içinde startClearing() satırının üstüne chain = 0 yaz.
  3. startClearing içinde matched = ... satırının altına chain += 1 yaz; puan satırını koddaki gibi yap.
  4. collapse'ın sonundaki phase = 'idle' satırını phase = 'falling' yap.
  5. update içinde 'clearing' bloğunun kapanan } satırının altına 'falling' bloğunu yaz.
  6. Çalıştır ve oyna: bazen tahta kendi kendine birkaç kez patlamalı.

Beceriler: Oyun durumları

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