Atölye › Zelda Tarzı Zindan › 9/22. adım
Bir odadaki her e, odaya girince bir düşman olsun: kahraman boyunda mor bir kare. Düşman sonraki adımlarda
kullanılacak birçok şey hatırlıyor: hangi yöne yürüdüğü (dir), ne zaman döneceği (turnIn), canı (hp) ve geri
savrulması (knock, kx, ky).
```js
let enemies
enemies = []
ROOMS[ry][rx].forEach((line, row) => {
;[...line].forEach((ch, col) => {
if (ch !== 'e') return
const x = col * T + (T - SIZE) / 2
enemies.push({ x, y: row * T + (T - SIZE) / 2, dir: [1, 0], turnIn: 0, hp: 1, knock: 0, kx: 0, ky: 0 })
})
})
for (const e of enemies) {
ctx.fillStyle = e.knock > 0 ? '#fca5a5' : '#7c3aed'
ctx.fillRect(e.x, e.y, SIZE, SIZE)
}
```tiles'dan değil orijinal oda yazısından okunuyor: tiles'ta e'ler zemin oldu.if (ch !== 'e') return → forEach içinde return o karakteri atlar.{ x, y: ..., ... } → x önce hesaplandı, x: x'in kısası.knock > 0) açık pembe çizilir; şimdilik hep mor.let player satırının altına let enemies yaz.enter'da tiles satırının altına düşmanları kuran satırları yaz.draw'da kahramanı çizen satırların üstüne düşman döngüsünü yaz. Çalıştır.Beceriler: Diziler ve nesneler, Canvas üzerine çizim