Atölye › 15 Bulmacası › 19/27. adım
"Bulmaca çözüldü mü?" sorusunu soran bir fonksiyon yazıyoruz: isSolved. Her konumdaki taş, çözülmüş tahtadakiyle aynı
mı?
Onu hemen bir işe de koşacağız: 200 rastgele kaydırma, şans eseri tahtayı çözülmüş bırakabilir (çok nadir, ama olur). O zaman oyun "çözüldü" diye başlardı. Böyle olursa yeniden karıştıralım.
```js
function reset() {
tiles = solvedTiles()
do shuffle(200)
while (isSolved())
moves = 0
}
function isSolved() {
return tiles.every((t, i) => t === solvedTiles()[i])
}
```tiles.every((t, i) => ...) → listenin her elemanı için soruyu sorar: t taş, i konumu. Hepsi true
derse sonuç true, bir tane bile false varsa false.t === solvedTiles()[i] → bu konumdaki taş çözülmüş tahtadakiyle aynı mı?do shuffle(200) / while (isSolved()) → önce yap, sonra kontrol et döngüsü: karıştır; sonuç çözülmüşse yine
karıştır. Neredeyse her zaman tek turda biter.reset içindeki shuffle(200) satırını do shuffle(200) yap ve altına while (isSolved()) yaz.reset fonksiyonunun altına bir boş satır bırakıp isSolved fonksiyonunu yaz.Beceriler: Diziler ve nesneler
← Hangi tahtalar çözülür? Kaymayı hatırla →