Atölye › Flappy tarzı kuş › 16/30. adım
Deneme borusunun işi bitti: liste artık boş başlıyor. Yeni boruları addPipe (boru ekle) fonksiyonu üretecek:
her yeni boru sağ kenarda doğacak ve açıklığı rastgele bir yükseklikte olacak. Hep aynı yerde açıklık olsaydı oyun
çok kolay olurdu.
Bu adımda fonksiyonu yazıyoruz; onu düzenli aralıklarla çağırmak bir sonraki adımda.
```js
let pipes = []
function addPipe() {
const gapY = 60 + Math.random() * (canvas.height - GAP - 120)
pipes.push({ x: canvas.width, gapY })
}
```let pipes = [] → [] boş bir dizi. Oyun borusuz başlar.Math.random() → her çağrıldığında 0 ile 1 arasında (1 hariç) rastgele bir kesirli sayı: 0.73 gibi.canvas.height - GAP - 120 → 600 − 160 − 120 = 320. Rastgele sayı 320 ile çarpılınca 0–320 arası olur;
60 + ile 60–380 arası. Böylece açıklık hiçbir zaman üst ya da alt kenara yapışmaz (60 piksel pay kalır).pipes.push({ ... }) → push bir elemanı dizinin sonuna ekler.{ x: canvas.width, gapY } → yeni boru sağ kenarda (x = 400) doğar, yani ekranın hemen dışında. gapY tek başına
bir kısaltma: gapY: gapY yazmakla aynı ("gapY alanına gapY sabitinin değerini koy").let pipes = [...] satırını let pipes = [] yap (deneme borusunu sil).canvas.addEventListener('pointerdown', flap) satırının altına bir boş satır bırak ve addPipe fonksiyonunu yaz.Beceriler: Diziler ve nesneler
← Kuş değil dünya kayar Her 90 karede bir boru →