TANITIM VİDEOSUNUZ İZLE
Bugün yine can sıkıntısından bir ara yarıda bıraktığım ve python ortamında geliştirmek istediğim bir oyun olan satranc oyununu ele aldım çok güzel oldu ileri ki zamanda "mysql" bağlantılı olarak online üzeri oynanabilir yapmayı planlıyorum. Detaylar makalede videosu üstteki linkte mevcuttur.
Satranç Oyunu: Kodun İşleyiş Mantığı
Bu makalede, verilen Python kodunun çalışma prensiplerini, teknik detaylara çok fazla girmeden, basit bir şekilde açıklayacağım. Bu kod, Pygame kütüphanesi kullanılarak geliştirilmiş bir satranç oyunudur. Temel olarak, oyun tahtası oluşturma, taşların hareketlerini kontrol etme, görsel unsurları çizme ve bir oyuncu sırasını yöneten bir sistemden oluşmaktadır.
1. Oyun Arayüzü ve Başlangıç Ayarları
Kod, öncelikle Pygame kütüphanesi ile bir pencere oluşturur ve satranç tahtasının genişliği, renkleri gibi sabit değerleri tanımlar. Tahta, 8x8 bir ızgaradan oluşur ve kareler sırayla beyaz ve gri renklerle boyanır. Kullanıcı, oyunu bu arayüz üzerinde oynar.
2. Satranç Tahtası ve Taşların Görselleştirilmesi
Kodun ikinci kısmı, satranç taşlarının başlangıç dizilimini ve görsellerini yükler. Taşlar, ilgili taş resimlerinin küçük boyutlara ölçeklendirilmesiyle tahtada temsil edilir. Örneğin, bir "beyaz piyon" (bP) ya da "siyah kale" (sR) gibi taşlar görsellerle eşleştirilir.
3. Hareket Kontrolleri
Oyunun temel mantığı, satranç kurallarına uygun hareketleri kontrol etmektir. Örneğin:
- Piyonlar: Sadece düz ileri hareket edebilir, ancak çapraz bir hamlede rakip taşı yiyebilir.
- Kale ve Fil: Sırasıyla düz çizgilerde veya çapraz çizgilerde hareket edebilir.
- Şah ve Rok: Şahın kısa mesafeli hareketleri yanında özel bir "rok" hareketi de kodda tanımlıdır.
Kod, bu kurallar doğrultusunda bir taşın belirli bir kareye hareket edip edemeyeceğini kontrol eder.
4. Oyuncu Etkileşimleri
Kullanıcı fare ile bir kareye tıkladığında, kod bu karede bir taş olup olmadığını kontrol eder. Eğer geçerli bir taş seçilmişse, taşın yapabileceği olası hareketler vurgulanır. İkinci bir tıklama ile seçilen taş, geçerli bir kareye taşınır. Bu işlem sırasında:
- Hareket animasyonu uygulanır.
- Sıra diğer oyuncuya geçer.
5. Öne Çıkan Özellikler
- Ses Efektleri: Bir taş hareket ettiğinde veya rakip bir taş "yendiğinde", bir ses çalınır. Bu, oyunculara geri bildirim sağlar.
- Piyon Terfisi: Bir piyon tahtanın son sırasına ulaştığında, oyuncu bu piyonu bir vezir, kale, fil ya da at ile değiştirebilir.
- Animasyon: Taş hareketleri sırasında basit bir animasyon gösterilir, bu da oyun deneyimini daha akıcı hale getirir.
6. Oyun Döngüsü
Kodun ana döngüsü, sürekli olarak oyuncunun tıklamalarını ve hamlelerini kontrol eder. Bu döngü aynı zamanda tahtanın ve taşların her kareye göre doğru şekilde çizilmesini sağlar.
Sonuç
Bu satranç oyunu, temel Pygame fonksiyonlarını ve satranç kurallarını bir araya getirerek kullanıcıya interaktif bir deneyim sunar. Kodun modüler yapısı, geliştirmeyi ve ek özellikler eklemeyi kolaylaştırır. Örneğin, zaman sınırları, çevrimiçi oyun veya yapay zeka ile oynama gibi özellikler eklenebilir.