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]>
This commit is contained in:
2026-10-02 22:31:40 +03:00
co-authored by Claude Opus 5.5
commit ed201188fb
39 changed files with 2650 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# Fraktal — terminalde 24 bit renkli Mandelbrot ve Julia
![Fraktal](../../medya/fraktal.png)
Terminali bir tuvale çevirir. Her karakter hücresi **iki piksel** taşır:
üst yarım blok `▀` ön plan rengiyle üst pikseli, arka plan rengiyle alt
pikseli çizer. 100 sütunluk bir terminal böylece 100 × 72 piksellik bir
görüntü olur.
```bash
kabalang calistir fraktal.kbl # Mandelbrot kümesi
kabalang calistir fraktal.kbl -- --tur julia # Julia kümesi (c = -0.8 + 0.156i)
kabalang calistir fraktal.kbl -- --yakinlas # denizatı vadisine 120 karelik dalış
kabalang calistir fraktal.kbl -- -s 160 -r 44 # geniş terminal: 160 sütun × 44 satır
```
## KabaLang'ın gösterdikleri
| Özellik | Nerede |
|---|---|
| `birlikte:` + `baslat` | Görüntü dört şeride bölünür, şeritler **aynı anda** hesaplanır ve sırası korunarak birleştirilir (`kare_ciz`) |
| `sayilabilir` | `Kume.MANDELBROT` / `Kume.JULIA` — kapalı değer kümesi |
| `yapi` | `Kamera` (merkez, görüş genişliği, yineleme sınırı) ve palet `Durak`ları |
| f-string biçimi | `{kam.merkez_x:.5f}{kam.merkez_y:+.5f}i` — işaretli ve hassasiyetli sayı |
| `KomutSatiri` | `--tur`, `--yakinlas`, `--sutun`/`--satir` ve kendiliğinden üretilen `--yardim` |
| Tipli imzalar | `fonksiyon kacis(zx: ondalik, ...) -> ondalik` |
## Nasıl çalışır
* **Kaçış süresi:** `z ← z² + c` yinelenir; `|z|` 2'yi aşarsa nokta kümeden
kaçmıştır. Ne kadar çabuk kaçtığı rengini belirler, hiç kaçmayan nokta
kümenin içidir (lacivert).
* **Palet:** altı renk durağından (derin uzay → gece mavisi → mavi →
camgöbeği → lavanta → beyaz) bir kez 256 tonluk bir liste üretilir.
* **Derin yakınlaşma:** renk, yineleme sayısının üçgen dalgasıdır; böylece
20 yinelemede de 700 yinelemede de paletin tamamı kullanılır.
Bir kare (7.200 piksel, 120 yineleme sınırı) birkaç milisaniyede hesaplanır;
süre başlık satırında yazar.