Atölye › Flappy tarzı kuş › 21/30. adım
Puan ne zaman verilir? Boru kuşu tamamen geçtiğinde: borunun sağ kenarı kuşun sol kenarının solunda kalınca.
Tuzak: bu koşul, boru ekrandan çıkana kadar her karede doğru kalır. Her doğru olduğunda puan verirsek tek boru 40 puan eder! Çözüm, her borunun üstüne bir bayrak koymak: "bu boruyu saydım mı?" Bir kez sayınca bayrağı kaldır.
```js
let score = 0
pipes.push({ x: canvas.width, gapY, passed: false })
for (const pipe of pipes) {
pipe.x -= PIPE_SPEED
if (!pipe.passed && pipe.x + PIPE_WIDTH < bird.x - bird.r) {
pipe.passed = true
score += 1
}
}
```let score = 0 → skor.passed: false → yeni borular "henüz sayılmadı" diye doğar. false (yanlış/hayır) ve true (doğru/evet) tırnaksız
yazılır; yazı değil, doğru/yanlış değerleridir.if (!pipe.passed && pipe.x + PIPE_WIDTH < bird.x - bird.r) { → "bu boru henüz sayılmadıysa ve kuşu
tamamen geçtiyse..."pipe.passed = true → "...sayıldı diye işaretle"score += 1 → "...ve skoru bir artır".pipe.passed artık true; !pipe.passed yanlış olur ve puan tekrar verilmez.let frame = 0 satırının altına let score = 0 yaz.addPipe içindeki pipes.push(...) satırında gapY'den sonra , passed: false ekle.update içinde boru döngüsünde, pipe.x -= PIPE_SPEED satırının altına if bloğunu yaz (döngünün }
işaretinden önce).Beceriler: Oyun durumları
← Açıklıktan geç Skoru göster →