Atölye › Flappy tarzı kuş › 10/30. adım
Şu an sayfa açılır açılmaz kuş düşmeye başlıyor; oyuncu hazırlanamıyor bile. Gerçek bir oyunun aşamaları vardır:
| durum | ne olur |
|---|---|
'ready' (hazır) |
kuş bekler |
'playing' (oyunda) |
yerçekimi çalışır |
'over' (bitti) |
her şey donar (sonraki adımda) |
Bunun için her an bu değerlerden tam olarak birini tutan tek bir değişken kullanırız: state. Buna durum
makinesi denir. Trafik ışığı gibi: her an tek bir rengi yanar.
```js
let state = 'ready' // 'ready', 'playing' or 'over'
function flap() {
state = 'playing'
bird.vy = FLAP
}
function update() {
if (state !== 'playing') return
```let state = 'ready' → oyun hazır aşamasında başlar.flap içinde state = 'playing' → ilk çırpış oyunu başlatır (sonrakiler de oyunda tutar).if (state !== 'playing') return → !== "eşit değil mi?" (==='in tersi). return fonksiyondan hemen
çıkar; altındaki satırlar çalışmaz. Yani: "oyunda değilsek hiçbir şey hareket etmesin."draw yine her karede çalışır: kuş ekranda bekler, kaybolmaz.let bird = ... satırının hemen altına state satırını yaz.flap içinde bird.vy = FLAP satırının üstüne state = 'playing' yaz.update içinde en üste, bird.vy += GRAVITY satırının üstüne if satırını yaz.Beceriler: Oyun durumları
← Boşluk, yukarı ok ya da dokunuş Yer ve gök →