Atölye › Kule Savunması › 10/42. adım
Yolun sonunu geçen düşman geçip gitmiştir: pointAt ona null verir. Onu listede tutarsak draw null'un
x'ini okumaya çalışır ve oyun hata verir.
Her düşmanın bir canı (hp, health points) olacak. Geçip gideni hp = 0 ile işaretliyoruz ve listede yalnız
canı olanları tutuyoruz. Neden doğrudan silmiyoruz? Çünkü ileride kulelerin öldürdükleri de canı 0'a inerek gidecek:
aynı süzgeç ikisini de temizleyecek.
```js
for (const e of enemies) {
if (pointAt(e.d) === null) {
e.hp = 0
}
}
enemies = enemies.filter((e) => e.hp > 0)
```if (pointAt(e.d) === null) { e.hp = 0 } → yolun sonunu geçtiyse canını sıfırla.enemies.filter((e) => e.hp > 0) → yalnız canı 0'dan büyük düşmanları tutan yeni bir liste. enemies = eski
listeyi onunla değiştirir.hp'si olmalı; hp'si olmayan bir düşman (undefined > 0 yanlış) hemen silinir.
Düşmanları bir sonraki adımda canlarıyla yaratacağız.update içinde yürüme satırının altına döngüyü ve filter satırını yaz.Beceriler: Oyun durumları, Diziler ve nesneler