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

Kırmızı bir hayalet

Ne yapıyoruz

Sıra avcılarda. Hayaletleri önce bir tarif listesinde tanımlayacağız: GHOSTS (şimdilik tek bir tane: kırmızı). placeActors bu listeden, oyunda gerçekten dolaşacak nesneleri (ghosts) yapacak.

Her hayalet oyuncuyla aynı alanlara sahip: col, row, dir, progress, frames. Böylece position ve birazdan advance onlar için de aynen çalışacak. Kırmızı hayalet evin hemen üstündeki döşemede (EXIT, çıkış) başlıyor, sola bakıyor. Bu adımda yalnız çizeceğiz; henüz kıpırdamayacak.

```js
const EXIT = { col: 9, row: 7 } // the tile just above the ghost house
const GHOSTS = [{ name: 'red', color: '#ef4444' }]

let ghosts

  ghosts = GHOSTS.map((g) => ({ ...g, col: EXIT.col, row: EXIT.row, dir: [-1, 0], progress: 0, frames: 10 }))

  for (const g of ghosts) {
    const q = position(g)
    ctx.fillStyle = g.color
    ctx.fillRect(q.x * TILE + 3, TOP + q.y * TILE + 3, TILE - 6, TILE - 6)
  }
```

Ne işe yarıyor

Sıra sende

  1. const PLAYER_FRAMES = ... satırının altına EXIT ve GHOSTS satırlarını yaz.
  2. let player satırının altına let ghosts yaz.
  3. placeActors içinde player = { ... } satırının altına ghosts = ... satırını yaz.
  4. draw içinde const p = position(player) satırının üstüne hayalet döngüsünü yaz; altında bir boş satır kalsın.
  5. Çalıştır: evin üstünde kırmızı bir kare görünmeli.

Beceriler: Oyun durumları, Diziler ve nesneler

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