Bu yazıda Python ‘ın temellerini kullanarak kullanıcıdan satranç tahtasındaki pozisyonu alan ve ilgili pozisyonun beyaz veya siyah olduğunu kullanıcıya döndüren programı yazacağız. Örneğin kullanıcı a1 girdiğinde program “Satranç taşı siyah kare üzerindedir” çıktısı verilirken, kullanıcı d5 girdiğinde “Satranç taşı beyaz kare üzerindedir” şeklinde uyarı yazacaktır.

Python Temelleri : Satranç Tahtasında Renk Seçici
Python Temelleri : Satranç Tahtasında Renk Seçici

1. Kullanıcıdan pozisyonu input() fonksiyonu ile alıyoruz ve kare değişkenine atıyoruz.

kare = input(“Lütfen konum giriniz: “)

2. Satranç tahtasının sütunlarını temsil eden harfleri sutun değişkenine atıyoruz.

sutun = “abcdefgh”

3. Satranç tahtasındaki sütun konumunu hesaplamak için, kullanıcının girdiği pozisyonun ilk karakterinin (yani sütun harfinin) sutun değişkenindeki indeksini alıyoruz ve bir ekstra birim ekliyoruz (çünkü sütunlar 1’den 8’e kadar numaralandırılırken, sutun dizisi 0’dan başlar). int() fonksiyonunu kullanarak indeksi tamsayıya dönüştürüyoruz.

sutun_konumu = int(sutun.index(kare[0])) + 1

4.Satranç tahtasındaki satır konumunu hesaplamak için, kullanıcının girdiği pozisyonun son karakterini (yani satır sayısını) int() fonksiyonu ile tamsayıya dönüştürüyoruz.

satir_konumu = int(kare[-1])

5.Karelerin renklerini belirlemek için, sütun ve satır konumlarının toplamının mod 2’sine bakıyoruz. Eğer toplamın mod 2’si 0 ise kare beyazdır, değilse siyahtır.

konum = sutun_konumu + satir_konumu
if konum % 2 == 0:
print(“Satranç taşı siyah kare üzerindedir.”)
else:
print(“Satranç taşı beyaz kare üzerindedir.”)

Bu kodda, sutun_konumu ve satir_konumu değişkenleri önceden hesaplanır ve konum değişkeninde toplanır. Sonrasında, konum değişkeninin mod 2’sine bakılarak, karenin rengi belirlenir. Eğer konumun mod 2’si 0 ise kare beyazdır, değilse siyahdır.

 

Bu şekilde, kullanıcının girdiği satranç tahtası pozisyonunun karenin rengini belirleyen bir Python programı yazmış olduk. 🙂 Python ile ilgili diğer yazılarıma da bakabilirsiniz! 🙂

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir