Atölye › Pinball › 32/42. adım
Şimdiye kadar top düştükçe sonsuza kadar yenisi geliyordu. Gerçek pinball'da üç top hakkın vardır: her düşen top bir hak yer, hak bitince oyun biter.
state'e üçüncü bir değer ekliyoruz: 'over' (bitti). Oyun bitince fizik de durmalı.
```js
let state // 'ready' (in the lane), 'playing' or 'over'
let balls
balls = 3
if (state !== 'playing') return
if (ball.y > canvas.height + R) {
balls -= 1
if (balls > 0) newBall()
else {
state = 'over'
}
}
```let balls → kalan top hakkı; reset onu 3 yapar.balls -= 1 → düşen top bir hak yer.if (balls > 0) newBall() → hak kaldıysa kanalda yeni top.else { state = 'over' } → kalmadıysa oyun biter. Süslü parantez şimdilik tek satırı sarıyor; birazdan içine bir
şey daha ekleyeceğiz.if (state !== 'playing') return → 'ready' bloğunun altında: durum 'playing' değilse (yani 'over' ise) fizik
çalışmaz. Bu satır olmasaydı düşen top düşmeye devam eder, drenaj kontrolü her karede bir hak daha silerdi.let state yorumu da üç değeri söyleyecek şekilde güncelleniyor.let state satırının yorumunu koddaki gibi yap; let score satırının altına let balls yaz.reset içinde score = 0 satırının altına balls = 3 yaz.update içinde 'ready' bloğunun kapanan } satırının altına if (state !== 'playing') return yaz.update'in son satırını (if (ball.y > canvas.height + R) newBall() ...) sil; yerine yeni bloğu yaz.Beceriler: Oyun durumları
← Palet fırlatır Kalan toplar ve oyun sonu →