Atölye › Sudoku › 14/28. adım
Bulmaca, her hücre dolu ve hiçbir çakışma yoksa çözülmüştür. Her rakamdan sonra kontrol edelim; kazanınca artık rakam yazılamasın.
```js
let won
won = false
function checkWin() {
for (let r = 0; r < 9; r++) for (let c = 0; c < 9; c++) if (grid[r][c] === 0 || conflict(r, c)) return
won = true
}
function enter(d) {
if (won || given[selected.r][selected.c]) return
grid[selected.r][selected.c] = d
checkWin()
}
```function checkWin() → 81 hücreye bakar; ilk boş ya da çakışan hücrede return ile çıkar (henüz bitmedi).
Hiçbiri yoksa won = true.for ve bir if tek satıra yazılabilir; her birinin gövdesi tek bir komut olduğunda.enter → kazanıldıysa (won) hiçbir şey yazma; yazdıktan sonra checkWin().let selected satırının altına let won yaz; reset'in sonuna won = false ekle.enter'ın üstüne checkWin fonksiyonunu yaz.enter'ın ilk satırına won || ekle ve sonuna checkWin() yaz.Beceriler: Oyun durumları