Atölye › Scorched Earth Tarzı Topçu › 2/23. adım
Bir sinüs dalgası yumuşakça iner çıkar. Üç tanesini toplamak, büyük yavaş bir dalga ve iki küçük hızlı dalga, her biri rastgele boyda ve konumda, doğal görünen ve her oyunda farklı tepeler verir.
```js
// Hills from three sine waves of random size and position, added together.
const waves = [1, 2, 3].map((n) => ({ size: (30 / n) * (0.5 + Math.random()), length: W / (n + Math.random()), shift: Math.random() * W }))
for (const w of waves) y += w.size * Math.sin(((x + w.shift) / w.length) * Math.PI * 2)
ground.push(Math.max(120, Math.min(H - 20, y)))
```[1, 2, 3].map((n) => ({ ... })) → üç dalga nesnesi. n. dalga yaklaşık 30 / n piksel yüksek (size),
W / n piksel uzun (length): ikincisi yarı boyda ve iki kat sık. 0.5 + Math.random() ve n + Math.random()
→ her oyunda biraz farklı. shift → dalgayı yana kaydırır.Math.sin(((x + w.shift) / w.length) * Math.PI * 2) → her length pikselde bir kez inip çıkan, -1 ile 1 arası bir
sayı; w.size ile çarpınca o dalganın yüksekliği.y += → üç dalga 220'nin üstüne toplanır.Math.max(120, Math.min(H - 20, y)) → zemini 120 ile alttan 20 piksel arasında tut (kıskaçla).makeGround'un üstüne yorum satırını, gövdesinin en üstüne waves satırını yaz.let y = 220'nin altına dalgaları toplayan satırı yaz; ground.push(y) satırını kıskaçlı hâliyle değiştir.Beceriler: Canvas üzerine çizim, Döngüler