Atölye › Tuğla Kırma › 19/39. adım
Şimdi asıl iş: top bir tuğlaya değince tuğla kırılsın ve top geri seksin.
Önemli bir kural: bir karede en fazla bir tuğla. Top aynı anda iki tuğlaya değip iki kez ters dönseydi, iki dönüş birbirini silerdi ve top duvarı dümdüz delip geçerdi. Bu yüzden yalnız ilk değen tuğlayı alacağız.
```js
// Break at most one brick per frame, or two flips could cancel out.
const brick = bricks.find((b) => b.alive && hitsBrick(b))
if (brick) {
brick.alive = false
ball.vy = -ball.vy
}
```bricks.find((b) => b.alive && hitsBrick(b)) → "listede, ayakta ve topla değen ilk tuğlayı bul". find
her tuğlayı sırayla küçük fonksiyona verir (b adıyla); cevap ilk kez doğru olunca durur ve o tuğlayı verir.
Hiçbiri uymazsa "hiçbir şey" (undefined) verir.if (brick) → "bir tuğla bulunduysa". undefined yanlış sayılır.brick.alive = false → tuğla artık kırık. draw onu atlayacak.ball.vy = -ball.vy → top dikeyde geri döner.update içinde raket kontrolünün kapanış }'i ile en alttaki if (ball.y - BALL_R > canvas.height) ... satırının
arasına bloğu yaz; üstünde ve altında birer boş satır kalsın. Çalıştır ve oyna: tuğlalar kırılmalı!
Beceriler: Çarpışma tespiti, Diziler ve nesneler
← Daire kutuyla buluşuyor Tuğlanın yanına çarpmak →