Bu proje, Python ve Tkinter kullanılarak geliştirilmiş tam özellikli bir satranç oyunudur.
- ✅ Tüm taşların doğru hareket kuralları
- ✅ Taş yeme işlemleri
- ✅ Şah kontrolü (Check)
- ✅ Şah mat kontrolü (Checkmate)
- ✅ Oyun sonu tespiti
- ✅ Rok (Castling): Kısa ve uzun rok desteği
- ✅ En Passant: Geçerken alma kuralı
- ✅ Piyon Terfi Etme: Piyonlar son sıraya ulaştığında kraliçeye terfi eder
- ✅ Görsel satranç tahtası
- ✅ Seçili taş vurgulaması
- ✅ Oyun durumu göstergesi
- ✅ Türkçe arayüz
- ✅ Hamle geçerliliği kontrolü
- Python 3.6 veya üzeri
- Tkinter (genellikle Python ile birlikte gelir)
python Chess.py- Piyon (P/p): Bir kare ileri, ilk hamlede iki kare, çapraz taş yeme
- Kale (R/r): Yatay ve dikey sınırsız hareket
- At (N/n): L şeklinde hareket (2+1 kare)
- Fil (B/b): Çapraz sınırsız hareket
- Kraliçe (Q/q): Yatay, dikey ve çapraz sınırsız hareket
- Şah (K/k): Bir kare her yöne hareket
- Rok: Şah ve kale hiç hareket etmemişse, aralarında taş yoksa yapılabilir
- En Passant: Piyon iki kare ilerlediğinde, yanındaki piyon bir sonraki hamlede onu çapraz yiyebilir
- Şah Tehdidi: Şah tehdit altındaysa sadece şahı kurtaran hamleler yapılabilir
- Taş Seçme: Taşa tıklayın
- Hamle Yapma: Hedef kareye tıklayın
- Seçimi İptal: Başka bir kendi taşınıza tıklayın
ChessGameGUI: Ana oyun sınıfıvalid_*_move(): Taş hareket kurallarıis_check(): Şah kontrolüis_checkmate(): Şah mat kontrolüexecute_castle(): Rok işlemipromote_pawn(): Piyon terfi etme
board: 8x8 satranç tahtasımoves: Hamle geçmişilast_move: Son hamle bilgisien_passant_target: En passant hedefi
- ✅ Eksik metodlar eklendi (
get_opponent_color,is_check, vb.) - ✅ Hatalı en passant mantığı düzeltildi
- ✅ Piyon terfi etme işlevi tamamlandı
- ✅ Şah kontrolü ve mat kontrolü eklendi
- ✅ Rok işlemi düzeltildi
- ✅ UI iyileştirmeleri yapıldı
- ✅ Hata kontrolü geliştirildi
- ✅ Türkçe arayüz eklendi
- Hamle geçmişi gösterimi
- Oyunu kaydetme/yükleme
- Zorla geçiş (stalemate) kontrolü
- Hamle notasyonu
- Yapay zeka desteği
- Çevrimiçi oyun
Bu proje eğitim amaçlı geliştirilmiştir.