Atölye › Zelda Tarzı Zindan › 9/22. adım

Düşmanlar

Ne yapıyoruz

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)
  }
```

Ne işe yarıyor

Sıra sende

  1. let player satırının altına let enemies yaz.
  2. enter'da tiles satırının altına düşmanları kuran satırları yaz.
  3. 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

Tüm adımlar

  1. Bir oda
  2. Kahraman
  3. Oyun döngüsü
  4. Yürü
  5. Duvarlar
  6. Dokunmatik ped
  7. Sonraki oda
  8. Kılıç
  9. Düşmanlar
  10. Vur!
  11. Peşine düşüyorlar
  12. Dolaşıyorlar
  13. Ah
  14. Yanıp sönme ve kalpler
  15. Anahtarlar ve kalpler
  16. Hatırlayan dünya
  17. Kilitli kapı
  18. Süre
  19. Oyun bitti
  20. Çıkış merdiveni
  21. En iyi süre
  22. Kendin yap: temizlenen odalar