Atölye › 2048 › 8/26. adım
Şimdi yeni karoyu koyan fonksiyon: boş hücrelerden rastgele birini seçer ve oraya on seferde dokuzunda 2, kalanında 4 koyar. Tahta doluysa hiçbir şey yapmaz.
```js
function addTile() {
const cells = emptyCells()
if (cells.length === 0) return
const [row, col] = cells[Math.floor(Math.random() * cells.length)]
board[row][col] = Math.random() < 0.9 ? 2 : 4
}
```if (cells.length === 0) return → boş hücre yoksa dur.Math.random() * cells.length → 0 ile liste uzunluğu arasında rastgele bir ondalık sayı; Math.floor aşağı
yuvarlar: 0, 1, ..., length - 1. Yani listeden rastgele bir sıra.const [row, col] = cells[...] → seçilen [2, 3] gibi çifti iki ayrı ada açar: row 2, col 3. Buna dizi
ayrıştırma (destructuring) denir.Math.random() < 0.9 ? 2 : 4 → Math.random() 0.9'dan küçükse (on seferde dokuz) 2, değilse 4.emptyCells'in altına, function newGame() { satırının üstüne addTile fonksiyonunu yaz; altında bir boş satır
kalsın. Çalıştır.
Beceriler: Diziler ve nesneler
← Boş hücreleri bul Başlangıçta iki karo →