Atölye › Pac-Man Tarzı Labirent Kovalamaca › 7/42. adım

Nereden yürünür?

Ne yapıyoruz

Bir şey hareket etmeden önce nereye gidebileceğini bilmeli. İki soru:

Bir de tünel var: 0. sütunun solu yok, ama oradan çıkan 18. sütuna girmeli. Sütunu sarmalayacağız: -1 → 18, 19 → 0. Saatin 12'den sonra 1'e dönmesi gibi.

```js
const wrap = (col) => (col + COLS) % COLS

function isWall(col, row) {
  const ch = MAZE[row][wrap(col)]
  return ch === '#' || ch === '-'
}

function canGo(e, dir) {
  return !isWall(e.col + dir[0], e.row + dir[1])
}
```

Ne işe yarıyor

Sıra sende

  1. const key = ... satırının hemen altına wrap satırını, sonra bir boş satır bırakıp isWall ve canGo fonksiyonlarını yaz (aralarında ve fillPellets'ten önce birer boş satır).
  2. Çalıştır. Görünen bir değişiklik yok; kontroller soruları deneyecek.

Beceriler: Çarpışma tespiti

Tüm adımlar

  1. Metin olarak labirent
  2. Oyun döngüsü
  3. Duvarları çiz
  4. Yem kümesi
  5. Yemleri çiz
  6. Oyuncu
  7. Nereden yürünür?
  8. Hareket edenin hafızası
  9. Bir karelik hareket
  10. Her karede hareket
  11. Önceden basılan dönüşler
  12. Döşemeler arasında kay
  13. Anında geri dön
  14. Telefonda kaydırma
  15. Yemleri ye
  16. Skoru göster
  17. Labirenti bitir
  18. Kırmızı bir hayalet
  19. Hayalet geri dönmez
  20. Hayalet yürür
  21. Hayalet seni avlar
  22. Evde dört hayalet
  23. Evden birer birer
  24. Dağıl mı, kovala mı?
  25. Her hayalet köşesine
  26. Pembe önünü keser
  27. Turuncu utangaç
  28. Camgöbeği kırmızıyla çalışır
  29. İlk tuşu bekle
  30. Oyuncuya başlamasını söyle
  31. Üç can
  32. Yakalandın!
  33. Oyun bitti
  34. Yeniden oyna
  35. Hayaletleri korkut
  36. Güç yemleri çalışır
  37. Korkmuş hayalet yavaş dolaşır
  38. Korkmuş hayaleti ye
  39. Mavi, sonra yanıp sönen
  40. Zorlaşan bölümler
  41. Kalıcı en iyi skor
  42. Kendin yap: yavaş tünel