Atölye › Tetris Tarzı Bloklar › 30/32. adım
Boşluk parçayı bir anda en alta bıraksın ve hemen kilitlesin (sert bırakma, hard drop). Bilerek hızlı oynamak ödüllendirilir: Aşağı okla indirilen her satır 1, Boşlukla bırakılan her satır 2 puan.
"Sığdıkça aşağı in" tek satırlık bir while döngüsü.
```js
function hardDrop() {
while (tryMove(0, 1)) score += 2
lock()
}
if (event.key === 'ArrowDown') {
if (tryMove(0, 1)) score += 1
}
if (event.key === ' ') hardDrop()
```while (koşul) ... → koşul doğru olduğu sürece tekrar eder.while (tryMove(0, 1)) score += 2 → koşulun kendisi hareketi yapıyor: tryMove bir satır inmeyi dener; başarırsa
true döner, 2 puan eklenir ve döngü sürer. İnemediği an false döner ve döngü biter. Bu, ancak tryMove
hareketin olup olmadığını bildirdiği için mümkün.lock() → sonra parçayı yerine sabitle.if (tryMove(0, 1)) score += 1 → Aşağı ok: parça gerçekten indiyse 1 puan. Dipteyken basmak puan getirmez.if (event.key === ' ') hardDrop() → Boşluk. Oyun bittiyse dinleyicinin başındaki blok zaten return ettiği
için Boşluk o zaman yeni oyun başlatır.softDrop fonksiyonunun altına bir boş satır bırakıp hardDrop fonksiyonunu yaz.ArrowDown satırını koddaki üç satırlık blokla değiştir; altına Boşluk satırını yaz.Beceriler: Klavye ve fare girdisi, Döngüler
← Sıradaki parça Hayalet parça →