Atölye › Scorched Earth Tarzı Topçu › 18/23. adım
Her atışta yeni bir rüzgâr essin: her karede hıza eklenen yana doğru küçük bir itiş; yerçekimi gibi ama yatay. Üst ortada yönü ve gücü yazsın. Artık aynı açı ve güç her seferinde aynı yere düşmüyor.
```js
let wind
const newWind = () => (wind = Math.round((Math.random() - 0.5) * 10) / 100) // -0.05 to 0.05
newWind()
newWind()
// One frame of flight: wind pushes sideways, gravity pulls down. Returns what it hit, or null.
s.vx += wind
ctx.textAlign = 'center'
const arrow = wind > 0 ? '→' : wind < 0 ? '←' : ''
ctx.fillText('Wind ' + arrow + ' ' + Math.abs(Math.round(wind * 100)), W / 2, 20)
```(Math.random() - 0.5) * 10 → −5 ile 5 arası; Math.round(...) / 100 → −0.05 ile 0.05 arası, 0.01'lik adımlarla.newWind bir ok fonksiyonu; gövdesi bir atama: wind'i değiştirir.reset) ve her sıra değişiminde (endTurn) gelir.s.vx += wind → her karede yana hız ekle: rüzgâr yerçekiminin yatay kardeşi.Wind → 3 gibi.let state satırının üstüne let wind, fire'ın üstüne newWind yaz.reset'te state = 'aiming' satırının üstüne, endTurn'de turn = 1 - turn satırının altına newWind() yaz.fly'ın ilk satırı olarak rüzgârı ekle; üstündeki yorumu yeni hâliyle değiştir.draw'da sıra yazısının textAlign = 'right' satırının üstüne rüzgâr satırlarını yaz. Çalıştır.Beceriler: Hız ve yerçekimi, Oyun durumları
← Kazan ya da kaybet Bilgisayar nişan alıyor →