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.
1.8 KiB
1.8 KiB
Sudoku — geri izlemeli çözücü, canlı animasyonla
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.
