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

Sudoku: Dokuza dokuz

Sudoku oyna, sonra bilgisayara onu çözmeyi ve yeni bulmacalar icat etmeyi öğret. Bir metinden okunan ızgara, tek döngüde üç kural, en kısıtlı hücreyi seçen geri izlemeli bir çözücü, her bulmacayı tam olarak tek çözümde tutan bir üretici ve telefonlar için bir rakam tuş takımı.

Ne yapıyoruz

Sudoku yapıyoruz: önce oynanabilir bir bulmaca, sonra bilgisayara onu çözmeyi ve yeni bulmacalar icat etmeyi öğreteceğiz. Sonunda nasıl olacağını Bitmiş hâlini gör ile görebilirsin.

Sudoku 9 × 9 = 81 hücrede oynanır. Önce hücreleri çiziyoruz: açık bir arka plan üstünde, ortalanmış beyaz kareler.

```js
const canvas = document.getElementById('game')
const ctx = canvas.getContext('2d')

const SIZE = 48
const LEFT = (canvas.width - 9 * SIZE) / 2
const TOP = 56

function draw() {
  ctx.fillStyle = '#f8fafc'
  ctx.fillRect(0, 0, canvas.width, canvas.height)

  for (let r = 0; r < 9; r++) {
    for (let c = 0; c < 9; c++) {
      const x = LEFT + c * SIZE
      const y = TOP + r * SIZE
      ctx.fillStyle = '#ffffff'
      ctx.fillRect(x, y, SIZE, SIZE)
    }
  }
}

draw()
```

Ne işe yarıyor

Sıra sende

Satırları yorum satırlarının altına yaz ve Çalıştır'a bas: ortada büyük beyaz bir kare görmelisin (hücreler arası çizgiler sonraki adımda).

Beceriler: Canvas üzerine çizim, Döngüler

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