Atölye › Tetris Tarzı Bloklar › 11/32. adım
Elimizde fits olduğuna göre hareket iki adımlı bir kalıp: önce sor, sonra yap. "Bir sütun sola gitse sığar
mı?" Evetse gerçekten taşı, hayırsa hiçbir şeye dokunma.
Asla önce taşıyıp, yanlış olursa geri almaya çalışma. Böylece parça hiçbir an duvarın ya da blokların içinde
olmaz. Fonksiyon bir de cevap verir: hareket oldu mu (true), olmadı mı (false). Sonraki adımlar bu cevaba
dayanacak.
```js
function tryMove(dx, dy) {
if (!fits(piece.shape, piece.x + dx, piece.y + dy)) return false
piece.x += dx
piece.y += dy
return true
}
```dx, dy → "kaç sütun sağa, kaç satır aşağı". Sola (-1, 0), sağa (1, 0), aşağı (0, 1).if (!fits(piece.shape, piece.x + dx, piece.y + dy)) return false → yeni yerde sığmıyorsa hiçbir şeye dokunmadan
"hayır" ile çık.piece.x += dx → += "üstüne ekle": piece.x = piece.x + dx ile aynı.return true → "evet, hareket oldu".fits fonksiyonunun altına bir boş satır bırakıp tryMove fonksiyonunu yaz.Beceriler: Çarpışma tespiti, Fonksiyonlar
← Bloklar yolu kapatır Oklarla oynat →