Demli Tavla -Geleneksel Tavla Oyunu

Bu, Türkçe dilinde geliştirilmiş geleneksel bir tavla oyunudur. Oyunda kullanılan görseller, ikon, tavla tahtası, pullar, zar resimleri vb gibi herşey kişisel emeğimdir. Ayrıca, YZ’yi doğru yönlendirmek için algoritmaların oluşturulması, hataların denetimi, testler, her aşamada ortaya çıkan sorunların nedenlerinin tespiti ve daha birçok aşamada aktif olarak çalıştım. Harici olarak kulanılan bazı ses dosyaları ise kamu malıdır (kıraathane ortamı sesi). Zar sallama sesi ve atma sesi “creative common” lisanslıdır ve atıf zorunlu değildir. MIDI dosyalarından dönüştürülmüş “mirkelam_tavla.mp3” ve “mirkelam_win.mp3” adlı dosyalar, Türk pop sanatçısı Mirkelam’ın “Tavla” adlı şarkısından kırpılmış seslerin işlenmiş sahte versiyonlarıdır (DMCA sorununu aşmak ve lisanstan kaçınmak için).

tavlaicon

tavlaicon.png - oyunun resmi ikonu. Kendim yaptım, YZ değil.

Test Videosu:

(youtube videosundaki müzikler iptal edilerek yerlerine MIDI tabanlı benzerleri getirilmiştir).

Oyun, geleneksel tavla oyununu birebir taklit eder. Oyunun motoru bir ana python kodu (tavla.py) ve yardımcı iki yapay zeka dosyasından oluşur. Bu yapay zeka dosyaları aslında karar verme mekanizmaları içeren basit python betikleridir. Zar atabilirler ve taşların yerlerini tespit ederek ne yapacaklarına rassal karar verirler. Ardından hamle yaparlar.

Oyun başladığında kısa bir melodi ile başlar. Ardından kıraathane ortamı sesi başlar. Oyun boyunca çalar. Bu, kullanıcı için bir tür ses hoşluğu içindir.

Oyuna başlamak için Zarı At butonuna basmalısınız. İlk zarı her zaman oyuncu atar. İlk zarı atmadan önce tahta düzenini tersine çevirebilirsiniz. İlk zardan sonra bu hakkınız yanar ve buton pasifleşir.

Oyun, hamlelerinize duyarlıdır. Örneğin son hamleyi henüz yapmamışsanız, geri al butonunu kullanabilirsiniz; ancak son hamleyi yaptığınız anda sıranız yanar ve YZ zarını atar.

Oyun bittiğinde mars durumu olup olmadığı da denetlenerek, bir oyun bitti ekranı açılır; aynı anda yine kısa bir melodi duyarsınız. Oyun menüsünden skor listenizi görebilirsiniz. Skorlar, ~/.config/demlitavla/ içindeki json dosyasına kaydedilmektedir. İlk oyun tamamlanana kadar oluşturulmaz.

Repo:


ÖNEMLİ AYRINTILAR:

Bu program, insan emeği ve yapay zeka desteği ile tamamlanabilmiştir. Ben olmasaydım, YZ yapamazdı; YZ olmasaydı, ben yapamazdım. İçerikteki birçok mantık YZ tarafından kuruldu ve kodu yazıldı. YZ tamamen kör ve sağır. Bilerek hatalı kod veriyorum ve hata bulmasını istiyorum, gidip saçma sapan şeyleri hata diye gösteriyor. Bunu şu yüzden yazıyorum: “Ne yaptın ki? YZ’ye yap dedin yaptı”. Öyle birşey olmadı. İlk ikinci cümleyi tekrar okuyun.

Oyunu defalarca test ettim. Birçok kez oyun bitirdim. Bir sorunla karşılaşmadım. Ancak ben tavla konusunda “nerd” seviyede değilim. Ola ki bir sorunla karşılaşırsanız, lütfen bildirin.

Sorunsuz kurulabiliyor mu? Kurdunuz, çalışıyor mu? Çalıştı, çökmeden oyunu bitirebiliyor musunuz? Aksi takdirde bildirin.

Geliştirmeler için öneriye kapalıyım, özür dilerim. Program beni gerçekten yordu ve bu, belki yaptığım programlar içinde en zoruydu. İnanılmaz yoruldum ve bıktım. Hata varsa düzeltmek dışında artık daha fazla uğraşmak istemiyorum. Hele hele dil önerisi hiç olmaz, ana kod şu anda 970 satır ve dinamik dil desteği eklemek bu sayıyı hem ortalama 2 katına çıkarır, hem de bunu yapmak her kod satırında hata oluşma riskiyle savaş vermek demek. YZ ile bile bu yapılamaz.


Güzel bir oyun oldu. Deneme ya da boş zaman eğlencesi değil, ciddi ciddi üzerinde çalışılmış bir proje oldu. Umarım eğlenirsiniz.

İyi çalışmalar ve özgür yazılımlar dilerim.

2 Beğeni

Görsel olarak da göz yormuyor ellerine sağlık.

Zar sıralaması olmasa daha iyi olacak gibi. Örnek olarak 2-1 geldiyse ilk olarak 2 oynamak zorunda bırakmasa daha iyi olmaz mı ?

Tüm testleri yaptım. İstediğiniz sırada oynayabiliyorsunuz zaten.

Abi eline koluna sağlık canım sıkıldıkça oynuyorum
Bir iki önerim olacak ama

Sana verdiğim sürüm değil ama bu. Bu son sürümü indir bu baya gelişti.

Önerilerini buradan yazma watsapptan müsaitsen ordan yaz.

1 Beğeni

Tam ekran modu ve arkaplan müzik sesi kapat seçeneği olursa daha iyi olur.

Not aldım.

Tam ekran çok zor. Ekrana oranlandığında koordinatlar kayacaktır.

YENİ BİR OYUN GELİYOOOOOOOORRRR!!!

Peek 2026-02-11 21-13-2

Coming soon…

1 Beğeni

zip dosyasını indirdikten sonra nasıl oynayacağız tarif edermisiniz

zip dosyasını indirmeyin.

Şu sayfadan demlitavla.1.0.deb dosyasını indirip çifttıklatarak pardus paket kurucu ile kurun. Bitince programlar menüsünde görünür.

Bu paket, sadece debian ve debiandan türemiş dağıtımlara kurulabilir. Bir sorunla karşılaşırsanız bildirin.

EDİT: Farklı bir dağıtım kullanıyorsanız (debian-ubuntu olmayan) bu durumda zip dosyasını home klasörüne açın.

İçeriği dikkatle araştırıp usr/share/ yolunu takip ederek, “demlitavla” adlı klasörü bulun.

Bu klasörü home klasörüne çıkarın.

Şimdi terminal açarak şu bağımlılıkları kurun:

python3-pyqt5
python3-pygame
fonts-liberation
fonts-liberation2

(debian olmayan sistemlerde nasıl kurulduğunu bilmiyorum.

Şimdi, az önce bulduğunuz “demlitavla” klasörünün içine girip, terminal açın ve şöyle deyin:

python3 tavla.py

Hata verirse ne hatası olduğunu bana bildirin.