Skip to content
WhitichPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Satranç Oyunu

Bu proje, Python ve Tkinter kullanılarak geliştirilmiş tam özellikli bir satranç oyunudur.

Özellikler

Temel Oyun Kuralları

  • ✅ Tüm taşların doğru hareket kuralları
  • ✅ Taş yeme işlemleri
  • ✅ Şah kontrolü (Check)
  • ✅ Şah mat kontrolü (Checkmate)
  • ✅ Oyun sonu tespiti

Özel Hamleler

  • ✅ 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

Kullanıcı Arayüzü

  • ✅ Görsel satranç tahtası
  • ✅ Seçili taş vurgulaması
  • ✅ Oyun durumu göstergesi
  • ✅ Türkçe arayüz
  • ✅ Hamle geçerliliği kontrolü

Kurulum ve Çalıştırma

Gereksinimler

  • Python 3.6 veya üzeri
  • Tkinter (genellikle Python ile birlikte gelir)

Çalıştırma

python Chess.py

Oyun Kuralları

Taş Hareketleri

  • 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

Özel Kurallar

  1. Rok: Şah ve kale hiç hareket etmemişse, aralarında taş yoksa yapılabilir
  2. En Passant: Piyon iki kare ilerlediğinde, yanındaki piyon bir sonraki hamlede onu çapraz yiyebilir
  3. Şah Tehdidi: Şah tehdit altındaysa sadece şahı kurtaran hamleler yapılabilir

Oyun Kontrolleri

  • 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

Teknik Detaylar

Kod Yapısı

  • ChessGameGUI: Ana oyun sınıfı
  • valid_*_move(): Taş hareket kuralları
  • is_check(): Şah kontrolü
  • is_checkmate(): Şah mat kontrolü
  • execute_castle(): Rok işlemi
  • promote_pawn(): Piyon terfi etme

Veri Yapıları

  • board: 8x8 satranç tahtası
  • moves: Hamle geçmişi
  • last_move: Son hamle bilgisi
  • en_passant_target: En passant hedefi

Geliştirme Geçmişi

Düzeltilen Eksiklikler

  1. ✅ Eksik metodlar eklendi (get_opponent_color, is_check, vb.)
  2. ✅ Hatalı en passant mantığı düzeltildi
  3. ✅ Piyon terfi etme işlevi tamamlandı
  4. ✅ Şah kontrolü ve mat kontrolü eklendi
  5. ✅ Rok işlemi düzeltildi
  6. ✅ UI iyileştirmeleri yapıldı
  7. ✅ Hata kontrolü geliştirildi
  8. ✅ Türkçe arayüz eklendi

Gelecek Geliştirmeler

  • Hamle geçmişi gösterimi
  • Oyunu kaydetme/yükleme
  • Zorla geçiş (stalemate) kontrolü
  • Hamle notasyonu
  • Yapay zeka desteği
  • Çevrimiçi oyun

Lisans

Bu proje eğitim amaçlı geliştirilmiştir.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages