Atölye › Pinball › 15/42. adım
Masanın altındaki boşluktan düşen top kaybolur (bu boşluk birazdan paletlerin arası olacak). Yerine kanalda yeni bir top beklemeli.
Bir de şu durum var: top kanaldan çıkamadan geri yuvarlanabilir. Kanalın dibinde durunca onu da yeniden
fırlatılabilir yapmalıyız; yoksa 'playing' durumunda sonsuza kadar orada kalır.
```js
// A ball that rolled back down the lane waits to be launched again.
if (ball.x > 360 && ball.y > 550 && Math.hypot(ball.vx, ball.vy) < 0.5) newBall()
if (ball.y > canvas.height + R) newBall() // drained: the next ball
```ball.x > 360 && ball.y > 550 && Math.hypot(ball.vx, ball.vy) < 0.5 → üç koşul, && ("ve") ile: top kanalda
(x > 360), dibine yakın (y > 550) ve neredeyse duruyor (hızı 0.5'ten küçük). Üçü birden doğruysa
newBall().ball.y > canvas.height + R → topun merkezi canvas'ın altından yarıçap kadar da aşağıda: top tamamen görünmez
oldu, yani düştü.newBall() topu kanala koyar ve state'i yine 'ready' yapar.update içinde, hız sınırının kapanan } satırının altına (fonksiyonun sonuna) yorum satırını ve iki satırı
yaz.Beceriler: Oyun durumları
← Hazır mı, oyunda mı Üç tampon →