Atölye › Sudoku › 18/28. adım

En kolay hücre

Ne yapıyoruz

Şimdi bilgisayara sudoku çözmeyi öğretiyoruz. İyi bir oyuncu nereden başlar? En az seçeneği olan hücreden: tek bir rakamın sığdığı hücre hemen dolar. Bilgisayar da öyle yapacak.

bestCell her boş hücre için 1'den 9'a hangi rakamların sığdığını sayar ve en az seçenekli hücreyi, seçenekleriyle birlikte verir.

```js
// The empty cell with the fewest digits that fit, and those digits.
function bestCell(board) {
  let found = null
  for (let r = 0; r < 9; r++) {
    for (let c = 0; c < 9; c++) {
      if (board[r][c] !== 0) continue
      const options = []
      for (let d = 1; d <= 9; d++) if (canPlace(board, r, c, d)) options.push(d)
      if (!found || options.length < found.options.length) found = { r, c, options }
    }
  }
  return found
}
```

Ne işe yarıyor

Sıra sende

canPlace fonksiyonunun altına bir boş satır bırakıp yorumu ve bestCell fonksiyonunu yaz. Çalıştır.

Beceriler: Döngüler, Diziler ve nesneler

Tüm adımlar

  1. Dokuza dokuz
  2. Çizgiler ve kutular
  3. Metinden bir bulmaca
  4. Bulmacanın kendi rakamları
  5. Çizmeye devam
  6. Seçili hücre
  7. Satırı, sütunu ve kutuyu aydınlat
  8. Her yerde aynı rakam
  9. Tıklayarak seç
  10. Oklarla gez
  11. Rakam yaz
  12. Tek döngüde üç kural
  13. Hataları göster
  14. Çözüldü!
  15. Saat
  16. Çözüldü mesajı
  17. Yeniden oyna
  18. En kolay hücre
  19. Çözücü
  20. Rastgele sıra
  21. Bulmaca icat et
  22. Her oyunda yeni bulmaca
  23. İpuçları
  24. En iyi süre
  25. Yeni bulmaca için N
  26. Rakam tuş takımı
  27. Tuş takımına dokun
  28. Kendin yap: geri al