Fable 5 High
elevator-fable-5-high.htmlKompakt, zarif; fiziksel yürüme animasyonu, kapı koreografisi, açık/koyu tema, net tek-kişilik dispatch. "İyi animasyon + sade" isteğine en iyi uyan ve çok daha yalın kod.
elevator.txt gereksinimlerine göre iki tek-dosya HTML asansör simülasyonunun karşılaştırması. Puanlama önce gereksinim uyumuna, sonra animasyon/görsel/sadelik/mühendislik kalitesine bakıyor.
Kompakt, zarif; fiziksel yürüme animasyonu, kapı koreografisi, açık/koyu tema, net tek-kişilik dispatch. "İyi animasyon + sade" isteğine en iyi uyan ve çok daha yalın kod.
Daha zengin ürün UI'ı: istatistikler, lejant, meşgul durum stili, race-safe reset, kişi kabin içinde gösteriliyor. Ekstra hacmin çoğu dekoratif CSS ve savunmacı yaşam döngüsü kodu.
| Gereksinim | A · elevator.html | B · fable-5-high |
|---|---|---|
| Sayı belirterek spawn | Evet — 1–24 | Evet — 1–12 |
| 3 asansör, 1 kişi kapasite | Evet | Evet |
| Bekleyenler sıradaki boşa biner | Evet — kat başı kuyruk | Evet — global FIFO |
| Rastgele hedef kat | Evet | Evet |
| Hover tooltip | Evet — DOM tooltip + focus | Evet — CSS ::after |
| İyi animasyon | İyi — kabine "ışınlanma" | Çok iyi — yürüyerek biniş/iniş |
| Sade | Orta — ~950 satır | Yüksek — ~450 satır |
| Tek dosya | Evet | Evet |
elevator.html = 25.669 bayt / 949 satır,
elevator-fable-5-high.html = 12.819 bayt / 449 satır
→ A tam olarak ~2× daha büyük. Bu fark daha fazla
asansör/mekanikten değil; CSS süslemesi (gradyanlar, panel, lejant, 5 renk teması),
UI iskeleti ve savunmacı JS (reset/runId koruması, her await sonrası kontrol)
kaynaklı. Aynı çekirdek oyunu ikisi de sunuyor.
| Kategori | Ağırlık | A | B | Not |
|---|---|---|---|---|
| Temel mekanik uyum | 30% | 29 | 30 | B'nin en-yakın-boş eşleşmesi biraz daha doğal. |
| Animasyon kalitesi | 18% | 13 | 17 | B'nin yürüyerek biniş/iniş daha az kodla daha iyi anlatıyor. |
| Görsel tasarım | 12% | 11 | 10 | A daha "ürünsel"; B daha temiz + çift tema. |
| Sadelik / netlik | 12% | 7 | 11 | B'de daha az alt sistem, tek oturuşta okunabilir. |
| Kod boyutu verimliliği | 13% | 5 | 12 | ~2× bayt/satır, aynı özellikler için. |
| Mühendislik cilası | 15% | 12 | 7 | A'nın reset/runId/a11y/istatistik puanı; ama boyut cezasının da kaynağı. |
| Toplam | 100% | 82 | 90 | Boyut puanlaması farkı büyütüyor. |
attr() tooltip90/100 · 12,8 KB. Tüm zorunlu gereksinimleri karşılarken "iyi animasyonlu, sade" isteğine en iyi uyuyor — yarı dosya boyutuyla daha güçlü biniş animasyonu.
82/100 · 25,7 KB. Tüm gereksinimleri karşılıyor ve küçük bir ürün olarak daha güçlü (istatistik, reset, a11y). 2× boyut çoğunlukla opsiyonel UI süsü — değerli ama istekte yoktu.
Sonuç: Her iki ajan da eksiksiz çalışan tek dosyalık asansör üretti. B animasyon, sadelik ve kod verimliliğinde önde; A dashboard UX ve güvenli reset isteyenler için tercih edilebilir, karşılığında ~2× bayt kabul ederek.