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

Rastgele mücevherli tahta

Ne yapıyoruz

Altı renk mücevher var: COLORS. Tahtayı bir tabloda tutacağız: 8 satır, her satır 8 sayı. Hücrede rengin kendisini değil, COLORS listesindeki sıra numarasını (0–5) tutuyoruz: 0 kırmızı, 3 mavi... Sayıları karşılaştırmak kolay; rengi yalnız çizerken arayacağız.

newBoard() (yeni tahta) tabloyu rastgele mücevherlerle dolduracak. Bu adımda ekranda bir şey değişmeyecek; tahta şimdilik yalnız bilgi.

```js
const COLORS = ['#ef4444', '#f59e0b', '#22c55e', '#3b82f6', '#a855f7', '#ec4899']

let board // board[row][col]: a color index

const randomGem = () => Math.floor(Math.random() * COLORS.length)

function newBoard() {
  board = []
  for (let r = 0; r < N; r++) {
    board.push([])
    for (let c = 0; c < N; c++) {
      board[r].push(randomGem())
    }
  }
}

newBoard()
requestAnimationFrame(loop)
```

Ne işe yarıyor

Sıra sende

  1. const TOP = 72 ... satırının altına COLORS satırını yaz.
  2. function draw() { satırının üstüne let board, randomGem ve newBoard'u yaz; aralarında birer boş satır bırak.
  3. En alttaki requestAnimationFrame(loop) satırının üstüne newBoard() yaz.
  4. Çalıştır: ekran değişmez, kontroller yeşil olmalı.

Beceriler: Diziler ve nesneler

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