Atölye › Sokoban › 18/29. adım
Bölüm ne zaman çözülür? Her kutu bir hedefin üstündeyse. Bölüm biçiminde hedef sayısı kutu sayısına eşittir; bu yüzden kutulara bakmak yeter.
"Hepsi mi?" sorusunu soran bir liste komutu var: every (her biri). Çözülünce de tahta donsun: artık hamle yok.
```js
function solved() {
return boxes.every((box) => goals.has(key(box.x, box.y)))
}
function move(dx, dy) {
if (solved()) return
```boxes.every((box) => ...) → her kutu için soruyu sorar; hepsi "evet" derse true, biri bile "hayır" derse
false.return → sonucu geri verir: solved() true ya da false olur.if (solved()) return → move'un ilk satırı: bölüm çözüldüyse hiçbir şey yapma.function move(dx, dy) { satırının üstüne solved fonksiyonunu yaz; arada bir boş satır kalsın.move içinde en üste if (solved()) return yaz.Beceriler: Oyun durumları
← Hedefteki kutu yeşile döner Sıradaki bölüme →