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

Pac-Man Tarzı Labirent Kovalamaca: Metin olarak labirent

Dört hayalet seni avlarken labirentteki her yemi ye. Döşemeden döşemeye akıcı hareket, önceden verilen dönüşler, dört farklı kişilikte hayalet yapay zekâsı, dağılma ve kovalama modları ve avcıları av yapan güç yemleri.

Ne yapıyoruz

Labirent oyunu bir döşeme ızgarası üstünde oynanır: her döşeme 24 × 24 piksellik bir kare. Labirenti tasarlamanın en kolay yolu onu metin olarak çizmek: her sıra bir metin, her harf bir döşeme.

Bu adımda ekranda bir şey değişmeyecek; oyunun haritasını yazıyoruz.

```js
const canvas = document.getElementById('game')
const ctx = canvas.getContext('2d')

const TILE = 24
const TOP = 40 // room for the score and the lives
// # wall, - the ghost house, . pellet, o power pellet, P player start. Row 9 is a tunnel: its ends are open.
const MAZE = [
  '###################',
  '#........#........#',
  '#o##.###.#.###.##o#',
  '#.................#',
  '#.##.#.#####.#.##.#',
  '#....#...#...#....#',
  '####.### # ###.####',
  '   #.#       #.#   ',
  '####.# #---# #.####',
  '    .  #---#  .    ',
  '####.# ##### #.####',
  '   #.#       #.#   ',
  '####.# ##### #.####',
  '#........#........#',
  '#.##.###.#.###.##.#',
  '#o.#.....P.....#.o#',
  '##.#.#.#####.#.#.##',
  '#....#...#...#....#',
  '#.######.#.######.#',
  '#.................#',
  '###################',
]
const ROWS = MAZE.length
const COLS = MAZE[0].length
```

Ne işe yarıyor

Sıra sende

  1. Kodu üç yorum satırının altına yaz.
  2. MAZE satırlarını buradan kopyalayabilirsin (harita bir veri; onu elle yazmanın öğreteceği bir şey yok). Her sıra tam 19 karakter olmalı, boşluklar dahil.
  3. Çalıştır: ekran değişmez, kontroller yeşil olmalı.

Beceriler: Diziler ve nesneler, Canvas üzerine çizim

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