Atölye › Zelda Tarzı Zindan › 2/22. adım
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()
```lines.findIndex((line) => line.includes(ch)) → karakteri içeren ilk satır; indexOf(ch) o satırdaki
sütun.start.col * T → karenin sol kenarı; + (T - SIZE) / 2 → 5 piksel içeri: 22 piksellik gövde 32 piksellik karede
ortalanır.dir: [0, 1] → baktığı yön: yana 0, aşağı 1 (aşağı bakıyor).reset → oyuncuyu başa koyar ve ilk odaya girer; en alttaki enter(0, 0) yerine çağrılıyor.TOP satırının altına SIZE, let room satırının altına let player yaz.enter'ın üstüne reset ve findIn yaz.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