2026Canlı
Adam Asmaca
- JavaScript
- HTML
- CSS
- Fetch API
- JSON
- Node.js Test Runner
- Vercel
Genel bakış
Tarayıcıda oynanan adam asmaca oyunu. 10 kategoride 1.000 Türkçe ve 1.000 İngilizce kelime var. Ekrandaki ya da bilgisayar klavyesiyle oynanıyor, Türkçe harfleri (ı/i, ç, ğ, ö, ş, ü) doğru işliyor. İpucu butonu, uzun kelimelerde açık başlayan harfler, seri takibi, koyu/açık tema ve ekran okuyucu desteği var.
01 · Problem
Çoğu adam asmaca örneği kısa bir İngilizce kelime listesiyle geliyor. Kelimeler çabuk tekrar ediyor ve Türkçe oynanamıyor. JavaScript'in varsayılan büyük/küçük harf çevirisi Türkçede yanlış çalışıyor ("I" harfini "i" yapıyor). Uzun ve zor kelimelerde oyuncuya yardım eden bir şey de yok.
02 · Çözüm
10 kategoride iki dilde 2.000 kelimelik, doğrulanmış JSON listeleri hazırladım. Listeler fetch ile sadece seçilen dil için yükleniyor. Kelimeler Fisher-Yates ile karıştırılmış bir "torbadan" çekiliyor, böylece kategori bitmeden tekrar gelmiyor. Harf çevirisi dile göre yapılıyor (toLocaleLowerCase('tr')). Bir hak karşılığında harf açan ipucu butonu ekledim, uzun kelimeler de bir iki harfi açık başlıyor. Oyun kuralları arayüzden ayrı yazıldı ve birim testleriyle doğrulandı. Dosyadan ve tarayıcı kaydından gelen veri doğrulanıyor, site güvenlik başlıklarıyla (CSP) yayınlanıyor.
03 · Sonuç
hangman.miracdeprem.com adresinde yayında, telefonda ve masaüstünde çalışan bir oyun. 21 birim testi kuralları, 2.000 kelimenin doğruluğunu ve kayıt işlemlerini kapsıyor. 14 harflik kelimeler bile küçük telefon ekranında tek satıra sığıyor. Oyun portfolyo sitemle aynı temayı kullanıyor.