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

Mücevherler düşsün

Ne yapıyoruz

Şimdi yerçekimi: her sütunda deliklerin üstündeki mücevherler aşağı düşüp delikleri doldursun; yukarıda açılan yerlere yeni rastgele mücevherler gelsin.

Bir sütunu aşağıdan yukarı gezeceğiz, iki sayaçla:

Bulduğumuz her mücevheri write'a kopyalar, write'ı bir yukarı çıkarırız. Delikleri atlarız. Sonunda write'ın üstünde kalan yerler yeni mücevherlerle dolar. Buna iki işaretçi (two pointers) yöntemi denir.

```js
// Everything above a gap falls down to fill it, and new gems drop in at the top.
function collapse() {
  for (let c = 0; c < N; c++) {
    let write = N - 1
    for (let r = N - 1; r >= 0; r--) {
      if (board[r][c] < 0) continue
      board[write][c] = board[r][c]
      write--
    }
    for (let r = write; r >= 0; r--) board[r][c] = randomGem()
  }
}

  collapse()
```

Ne işe yarıyor

Sıra sende

  1. function cellAt(event) { satırının üstüne yorum satırını ve collapse fonksiyonunu yaz; altında bir boş satır kalsın.
  2. trySwap içinde en sondaki return true satırının üstüne collapse() yaz.
  3. Çalıştır ve üçlüler yap: delikler anında dolmalı.

Beceriler: Diziler ve nesneler, Döngüler

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