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

Kahraman

Ne yapıyoruz

Kahraman 22 piksellik yeşil bir kare; P karesinin ortasında duruyor. findIn bir odada bir karakterin yerini buluyor. Kahraman hangi yöne baktığını da hatırlıyor (önce aşağı); kılıç buna ihtiyaç duyacak. reset yeni bir oyun başlatıyor.

```js
const SIZE = 22 // the player's and the enemies' bodies
let player

function reset() {
  const start = findIn(ROOMS[0][0], 'P')
  player = { x: start.col * T + (T - SIZE) / 2, y: start.row * T + (T - SIZE) / 2, dir: [0, 1] }
  enter(0, 0)
}

function findIn(lines, ch) {
  const row = lines.findIndex((line) => line.includes(ch))
  return { row, col: lines[row].indexOf(ch) }
}

  ctx.fillStyle = '#16a34a'
  ctx.fillRect(player.x, player.y, SIZE, SIZE)

reset()
```

Ne işe yarıyor

Sıra sende

  1. TOP satırının altına SIZE, let room satırının altına let player yaz.
  2. enter'ın üstüne reset ve findIn yaz.
  3. draw'da ctx.restore() satırının üstüne, bir boş satırdan sonra kahramanı çiz; en alttaki enter(0, 0) satırını reset() yap. Çalıştır.

Beceriler: Oyun durumları, Fonksiyonlar

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