Atölye › Puzzle Bobble Tarzı Balon Atıcı › 25/31. adım
Oyunun sonu: tahtada hiç balon kalmazsa kazanırsın (1000 puan ödül). Herhangi bir balon nişancının yakınındaki tehlike çizgisinin altına sarkarsa kaybedersin.
```js
const DANGER = 440 // a bubble below this line ends the game
let state // 'playing', 'won' or 'lost'
state = 'playing'
const cells = grid.flatMap((row, r2) => row.map((color2, c2) => ({ r: r2, c: c2, color: color2 })))
if (cells.every((cell) => cell.color < 0)) {
state = 'won'
score += 1000
} else if (cells.some((cell) => cell.color >= 0 && cellPos(cell.r, cell.c).y + R > DANGER)) state = 'lost'
```grid.flatMap(...) → her satırı { r, c, color } nesnelerine çevirip hepsini tek listede toplar.cells.every((cell) => cell.color < 0) → her hücre boş mu? Evetse kazandın: 'won' ve 1000 puan.cells.some(...) → dolu bir hücrenin balonunun alt kenarı (y + R) tehlike çizgisinin altında mı? Tek biri
bile yeterse kaybettin: 'lost'.const SPEED = 12 satırının altına DANGER, let drop ... satırının altına let state ... yaz; reset içinde
drop = 0 satırının altına state = 'playing' yaz.attach'in sonunda, drop satırının altına kontrol satırlarını yaz.Beceriler: Oyun durumları
← Tavan iniyor Tehlike çizgisi →