Atölye › Tetris Tarzı Bloklar › 17/32. adım
Hep T gelmesin. spawn() (doğur, ortaya çıkar) rastgele bir şeklin kopyasını kuyunun en üstüne, ortaya
koyacak. piece artık boş tanımlanıyor; değerini spawn veriyor.
```js
let piece
function randomShape() {
return SHAPES[Math.floor(Math.random() * SHAPES.length)].map((row) => [...row])
}
function spawn() {
const shape = randomShape()
piece = { shape, x: Math.floor((COLS - shape.length) / 2), y: 0 }
}
spawn()
requestAnimationFrame(loop)
```Math.random() → 0 ile 1 arasında (1 hariç) rastgele bir ondalık sayı, örneğin 0.62.* SHAPES.length → 7 ile çarp: 0 ile 6,99 arası.Math.floor(...) → aşağı yuvarla: 0, 1, ..., 6 arasında rastgele bir tam sayı; yani rastgele bir şeklin sıra
numarası. Sonra her zamanki gibi kopyası alınır.Math.floor((COLS - shape.length) / 2) → matrisi ortala: 3×3'lük bir parça için (10 - 3) / 2 = 3,5 → 3. sütun.{ shape, x: ..., y: 0 } → shape: shape yazmanın kısası: değişkenin adı alanın adıyla aynıysa bir kez yazmak
yeter.spawn() → döngü başlamadan ilk parçayı kurar.let piece = { ... } satırını yalnız let piece yap.// Clockwise... yorum satırının üstüne randomShape ve spawn fonksiyonlarını yaz; altlarında bir boş satır
kalsın.requestAnimationFrame(loop) satırının üstüne spawn() yaz.Beceriler: Oyun durumları
← Kendiliğinden düşüş Yere otur ve kilitlen →