Atölye › Missile Command Tarzı Savunma › 16/35. adım
Hedefine varan önleyici bir patlamaya dönüşsün. Patlamaları blasts listesinde tutacağız. Her karede her
patlama bir kare yaşlanacak; ömrü (50 kare) dolanlar listeden çıkacak.
Patlamaları bir sonraki adımda çizeceğiz; bu adımda yalnız doğup ölüyorlar.
```js
let blasts // explosions: { x, y, age }
blasts = []
blasts.push({ x: s.x, y: s.y, age: 0 })
for (const b of blasts) b.age += 1
blasts = blasts.filter((b) => b.age < BLAST_FRAMES)
```let blasts → patlama listesi; reset onu boşaltır.blasts.push({ x: s.x, y: s.y, age: 0 }) → önleyici vardığı yerde, 0 yaşında bir patlama bırakır.for (const b of blasts) b.age += 1 → her patlamayı bir kare yaşlandır. Tek komutluk bir döngü, { } olmadan tek
satırda yazılabilir.blasts.filter((b) => b.age < BLAST_FRAMES) → yaşı 50'den küçük olanları tut; ömrü dolanlar gider.let shots ... satırının altına yorumuyla let blasts yaz; reset içinde shots = [] satırının altına
blasts = [] yaz.update içinde s.done = true satırının altına blasts.push(...) satırını yaz.shots = shots.filter(...) satırının altına bir boş satır bırak ve patlamaları yaşlandıran iki satırı yaz.Beceriler: Oyun durumları
← Büyüyüp küçülen patlama Patlamaları çiz →