Atölye › Flappy tarzı kuş › 20/30. adım
İkinci soru: kuş tamamen açıklığın içinde mi? Üst kenarı açıklığın başladığı yerin altında ve alt kenarı açıklığın bittiği yerin üstündeyse, evet.
Kuş, hizadaysa ve açıklığın içinde değilse çarpar. Her parçaya bir ad vermek (overlapsX, insideGap) kuralı
okunur yapar; bir şey ters gidince hatayı bulmak da kolaylaşır.
```js
const overlapsX = bird.x + bird.r > pipe.x && bird.x - bird.r < pipe.x + PIPE_WIDTH
const insideGap = bird.y - bird.r > pipe.gapY && bird.y + bird.r < pipe.gapY + GAP
return overlapsX && !insideGap
```bird.y - bird.r > pipe.gapY → kuşun üst kenarı açıklığın başladığı yerin altında mı? (y aşağı büyür;
büyük y daha aşağı demek.)bird.y + bird.r < pipe.gapY + GAP → kuşun alt kenarı açıklığın bittiği yerin üstünde mi?insideGap (açıklığın içinde) doğru.! → "değil": doğruyu yanlışa, yanlışı doğruya çevirir. !insideGap = "açıklığın içinde değil".return overlapsX && !insideGap → hizada ve açıklığın içinde değil: çarptı.hitsPipe içinde overlapsX satırının altına insideGap satırını yaz.return overlapsX satırını return overlapsX && !insideGap yap.Beceriler: Çarpışma tespiti
← Kuş borunun hizasında mı? Her boruyu bir kez say →