Atölye › Pac-Man Tarzı Labirent Kovalamaca › 24/42. adım
Hayaletler hep kovalasa arka arkaya dizilip tek bir yılan gibi gelirlerdi. Orijinal oyunda iki mod var:
Program şöyle: her 27 saniyelik turun ilk 7 saniyesi dağılma, kalan 20 saniyesi kovalama; sonra baştan. Bunun için
tek bir sayaç (clock, saat) ve % yeter. Bu adımda modu hesaplıyoruz; hayaletler onu bir sonraki adımda
kullanacak.
```js
const SCATTER = 420 // frames of scatter at the start of every 27-second cycle
const CYCLE = 1620
let clock // frames played on this life, for the scatter / chase cycle
clock = 0
function mode() {
return clock % CYCLE < SCATTER ? 'scatter' : 'chase'
}
function update() {
clock += 1
```SCATTER = 420 → 7 saniye × 60 kare. CYCLE = 1620 → 27 saniye.let clock → bu turda kaç kare oynandı. placeActors onu 0 yapar (her yeni turda program baştan başlar).clock += 1 → update'in en başında: her kare bir tık.clock % CYCLE → kalan: 0, 1, 2, ... 1619, sonra yine 0. Yani turun içindeki yer. Saatin 12'yi geçince yine
1'den saymasına benzer.< SCATTER ? 'scatter' : 'chase' → turun ilk 420 karesi dağılma, gerisi kovalama.GHOSTS listesinin kapanan ]'sinin altına SCATTER ve CYCLE satırlarını yaz.let level satırının altına let clock ... satırını yaz.placeActors içinde en sona (for satırının altına) clock = 0 yaz.function target(g) { satırının üstüne mode fonksiyonunu yaz; altında bir boş satır kalsın.update içinde en üste clock += 1 ve altına bir boş satır yaz.Beceriler: Oyun durumları
← Evden birer birer Her hayalet köşesine →