Atölye › Pac-Man Tarzı Labirent Kovalamaca › 35/42. adım
Güç yemleri avcıları av yapar. Önce bu hâli kuran fonksiyonu yazalım: frighten (korkut).
scaredFor → korkunun kaç kare süreceği: 420 kare = 7 saniye.chain → yenecek bir sonraki hayaletin puanı; 200'den başlar (art arda yedikçe katlanacak).scared = true) ve anında geri döner: oyuncuya "bir şey değişti" diyen
açık bir işaret.Her hayalet artık bir scared alanıyla başlıyor; placeActors korkuyu da sıfırlıyor. Bu adımda henüz hiçbir şey
frighten'ı çağırmıyor; kontroller onu elle çağıracak.
```js
let scaredFor // frames the ghosts stay scared
let chain // points for the next ghost eaten
ghosts = GHOSTS.map((g, i) => ({ ...g, col: 8 + (i % 3), row: 9, dir: STOP, progress: 0, frames: 10, waiting: g.delay, scared: false }))
scaredFor = 0
function frighten() {
scaredFor = 420
chain = 200
for (const g of ghosts) {
if (g.waiting > 0) continue
g.scared = true
turnAround(g)
}
}
```let scaredFor, let chain → korku süresi ve sıradaki hayaletin puanı.scared: false → her hayalet korkmadan başlar. scaredFor = 0 → yeni turda korku yok.if (g.waiting > 0) continue → evdeki hayaletler korkmaz.turnAround(g) → oyuncunun geri dönüşü için yazdığımız fonksiyonun aynısı; hayaletlerde de adımın ortasında
bile çalışır.let clock ... satırının altına iki yeni değişkeni yaz.placeActors içinde ghosts = ... satırının sonuna, }))'den önce , scared: false ekle.placeActors içinde clock = 0 satırının altına scaredFor = 0 yaz.function caught() { satırının üstüne frighten fonksiyonunu yaz; altında bir boş satır kalsın.Beceriler: Oyun durumları
← Yeniden oyna Güç yemleri çalışır →