Atölye › Kule Savunması › 8/42. adım
Düşmanları bir listede tutacağız; her düşman, yürüdüğü mesafeyi (d) taşıyan bir nesne. Çizmek için pointAt
ona yoldaki yerini söyler (kare olarak); o karenin ortasına kırmızı bir daire çizeriz.
Liste şimdilik boş, o yüzden ekranda düşman görmeyeceksin; kontroller bir düşman koyup deneyecek.
```js
let enemies
enemies = []
for (const e of enemies) {
const p = pointAt(e.d)
const x = (p.x + 0.5) * TILE
const y = TOP + (p.y + 0.5) * TILE
ctx.fillStyle = '#dc2626'
ctx.beginPath()
ctx.arc(x, y, 11, 0, Math.PI * 2)
ctx.fill()
}
```let enemies → düşman listesi; reset içinde boş.for (const e of enemies) { → her düşman için:const p = pointAt(e.d) → yoldaki yeri, kare olarak (p.x sütun, p.y satır; küsuratlı olabilir).(p.x + 0.5) * TILE → karenin ortası, piksel olarak. TOP + (p.y + 0.5) * TILE → aynısı dikeyde.ctx.beginPath() → yeni şekil; ctx.arc(x, y, 11, 0, Math.PI * 2) → 11 yarıçaplı tam tur çember; ctx.fill()
→ içini boya.let road satırının altına let enemies yaz.reset içinde findRoad() satırının altına enemies = [] yaz.draw'un sonuna, kare döngülerinden sonra bir boş satır bırakıp düşman döngüsünü yaz.Beceriler: Canvas üzerine çizim