Atölye › Scorched Earth Tarzı Topçu › 18/23. adım

Rüzgâr

Ne yapıyoruz

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)
```

Ne işe yarıyor

Sıra sende

  1. let state satırının üstüne let wind, fire'ın üstüne newWind yaz.
  2. reset'te state = 'aiming' satırının üstüne, endTurn'de turn = 1 - turn satırının altına newWind() yaz.
  3. fly'ın ilk satırı olarak rüzgârı ekle; üstündeki yorumu yeni hâliyle değiştir.
  4. 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ı

Tüm adımlar

  1. Zemin
  2. Tepeler
  3. İki tank
  4. Namlu
  5. Oyun döngüsü
  6. Nişan al
  7. Açı ve güç
  8. Ateş!
  9. Uçuş
  10. Bum
  11. Kraterler
  12. Düşen tanklar
  13. Hasar
  14. Sırayla
  15. Bilgisayarın atışı
  16. Tanka isabet
  17. Kazan ya da kaybet
  18. Rüzgâr
  19. Bilgisayar nişan alıyor
  20. Fareyle nişan al
  21. Sürükle ve bırak
  22. atan2 tuzağı
  23. Kendin yap: iz