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.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Fraktal — terminalde 24 bit renkli Mandelbrot ve Julia
|
||||
|
||||

|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user