Atölye › Missile Command Tarzı Savunma › 8/35. adım
Saldırı bir dalga hâlinde gelir: 20 füze. Hepsi aynı anda değil, arka arkaya: bir füze, bir saniye bekle, bir füze daha...
Bunun için bir geri sayım kullanacağız. Döngü saniyede ~60 kez çalışır; her çalışma bir karedir. launchIn
bir sonraki fırlatmaya kaç kare kaldığını, toLaunch dalgada kaç füze kaldığını tutar. Füzeler bu adımda listede
birikecek ama henüz ne hareket edecek ne görünecek.
```js
let toLaunch // enemy missiles still to come in this wave
let launchIn
toLaunch = 20
launchIn = 30
function update() {
if (toLaunch > 0) {
launchIn -= 1
if (launchIn <= 0) {
launch()
toLaunch -= 1
launchIn = 60
}
}
}
function loop() {
update()
```toLaunch = 20 → bu dalgada 20 füze gelecek. launchIn = 30 → ilki 30 kare (yarım saniye) sonra.function update() { → oyunun güncelleme işi. Döngü her karede önce onu, sonra draw'u çağıracak.if (toLaunch > 0) → fırlatılacak füze kaldıysa...launchIn -= 1 → geri sayımı bir azalt (-= "üstünden çıkar").if (launchIn <= 0) → sayım bittiyse: launch() ile bir füze fırlat, toLaunch -= 1 ile bir tane düş,
launchIn = 60 ile sayımı yeniden kur (60 kare ≈ 1 saniye).let incoming ... satırının altına let toLaunch (yorumuyla) ve let launchIn satırlarını yaz.reset içinde incoming = [] satırının altına iki satırı yaz.function draw() { satırının üstüne update fonksiyonunu yaz; aralarında bir boş satır kalsın.loop içinde draw() satırının üstüne update() yaz.Beceriler: Oyun döngüsü
← Düşman füzesi fırlat Yoldaki füzeler →