Files
ornekler/konsol/sudoku
semihandClaude Opus 5.5 ed201188fb KabaLang örnekleri: konsol, masaüstü ve web için dokuz proje
Konsol: fraktal (paralel şeritli 24-bit Mandelbrot/Julia + yakınlaşma),
sudoku (geri izlemeli, canlı animasyon), fatura (JSON → terminal tablosu,
PDF ve Excel).
Masaüstü: hesap makinesi (işlem önceliği, canlı bağlama), odak (Pomodoro),
parola atölyesi (entropi ölçer, SHA-256).
Web: pano (Kanban REST API + SQLite), kisalt (302 yönlendirme, SVG
istatistik), anket (adres başına tek oy, sunucuda çizilen grafik).

Hepsi `kabalang calistir` ile derlenip çalışır; web uygulamaları yalnız
127.0.0.1'i dinler, SQL parametre bağlamalı, HTML çıktısı kaçırılır.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-02 22:31:40 +03:00
..

Sudoku — geri izlemeli çözücü, canlı animasyonla

Sudoku

Boş hücreye 1–9 arasındaki ilk uygun rakamı koyar ve ilerler. Çıkmaza girerse bir önceki hücreye döner (geri izleme) ve oradaki bir sonraki rakamı dener. Her adım ekranda görünür:

  • beyaz — bulmacada verilen rakam
  • camgöbeği — çözücünün koyduğu, henüz kesinleşmemiş rakam
  • sarı — şu an denenen hücre · kırmızı ✗ — geri alınan hücre
  • yeşil — çözüm bulunduktan sonra kesinleşen rakamlar
kabalang calistir sudoku.kbl                     # animasyonlu (~10 sn)
kabalang calistir sudoku.kbl -- --hizli          # yalnız sonuç
kabalang calistir sudoku.kbl -- 3000000000050090002005040000200007001600000587043106000008901000000670800000054 37 --hizli

Kendi bulmacanızı 81 haneli bir dizi olarak verebilirsiniz (0 = boş hücre).

KabaLang'ın gösterdikleri

Özellik Nerede
sinif + kurucu kur Cozucu ızgarayı kendi üzerinde değiştirir (metotlar nesnenin kendisinde çalışır)
sayilabilir Hücre durumu: VERILEN · YERLESMIS · DENENIYOR · GERI_ALINDI · KESIN
Tipli liste alanı izgara: liste<sayi> = [], durum: liste<Hucre> = []
** üs işleci Doğrulamada her grubun 2¹ + … + 2⁹ = 1022 toplamı
f-string genişlik {self.deneme:5d} sabit genişlikli sayaç

Doğruluk

Program çözümü yazmadan önce gecerli_mi ile denetler: her satır, sütun ve 3×3 kutu 1..9'u tam bir kez içermeli. Bu, çözücüden bağımsız bir denetimdir — çözücü hatalı olsaydı ekranda ✓ görünmezdi.

Ölçülen: varsayılan bulmaca 1.682 deneme / 1.631 geri alma; "dünyanın en zor sudokusu" diye bilinen bulmacalardan biri 243.098 deneme, animasyonsuz ~55 ms.