Ödevi bitirdim. Ancak malum sebeplerden paylaşmıycam. Hoca piyon için bool fonksiyonu vermiş. Öncelikle bütün taşlar için bir bool fonksiyonu yapacaksın. Bu boolların amacı taşın istediğin yere oynayıp oynayamadığını test etmek. Eğer taşın oynayabiliyorsa true oynayamıyorsa false değeri gönderecekler. Taşların kurallarını da bu boollarda oluşturmuş olacaksın.
Ayrıca hamle iste fonksiyonu var. Bu fonksiyonda da yapacağın tek şey PIYON case i gibi VEZIR,KALE.... yazmak. Hiçbir değişiklik yapmayacaksın. Yani tek olay bool fonksiyonlarını yazmaktan geçiyor. Kolay gelsin.
Ödevi bitirdim. Ancak malum sebeplerden paylaşmıycam. Hoca piyon için bool fonksiyonu vermiş. Öncelikle bütün taşlar için bir bool fonksiyonu yapacaksın. Bu boolların amacı taşın istediğin yere oynayıp oynayamadığını test etmek. Eğer taşın oynayabiliyorsa true oynayamıyorsa false değeri gönderecekler. Taşların kurallarını da bu boollarda oluşturmuş olacaksın.
Ayrıca hamle iste fonksiyonu var. Bu fonksiyonda da yapacağın tek şey PIYON case i gibi VEZIR,KALE.... yazmak. Hiçbir değişiklik yapmayacaksın. Yani tek olay bool fonksiyonlarını yazmaktan geçiyor. Kolay gelsin.
Buraya kadar yaptım zaten buraya kadar basit, fakat zor olan mesela karşı tarafın taşlarını almak yada şah ı aldıgında oyunun bitmesi bunu yapamadım ??
Her taşa bir numara vereceksin. örneğin beyaz piyonun numarası = 1 gibi. Bunu yaparken beyaz taşlara 10 dan küçük siyah taşlara da 10 dan büyük numara verirsen daha da kolay olur. Beyaz fil = 3, siyah fil = 13 gibi. Taşın numarası 10 dan büyük mü küçük mü diye bakarak rengini anlayabilirsin direk. Satranç tahtasını da 2 boyutlu bir array olarak tutarsın. Her kareye bir integer yazarsın. Eğer o karede bir taş varsa o taşın numarası yazar, kare boş ise 0 yazar. (bunun internette 64 bitlik integerlar kullanılarak yapılan gösterimleri de mevcut ancak onlar 1. sınıf için biraz fazla karmaşık olabilir.)
Burdan itibaren 1 adet fonksiyon yazılır. Fonksiyon 2 adet parametre alır.
Birinci parametre: Taşın gideceği kare İkinci parametre: Taşın hamleden önceki konumu
fonksiyona gelen parametreler kullanıcıdan okunur. Taşın hamleden önceki konumuna bakılarak hangi taş hareket ettiriliyor öğrenilir. Taşın türüne göre gideceği kareye gitmesi mümkün mü kontrol edilir. Örneğin kale ise taş ilk konum arrayde tahta[x][y] pozisyonundaysa x ve y den 1 tanesi sabit kalmalı. Her taş için belirli kurallar var buna göre taşın oraya gitmesi mümkün mü diye bakılabilir. Daha sonra gideceği kare dolu mu diye bakarsın. Daha sonra o hareket yapıldıktan sonra herhangi bir taş şahın olduğu kareye hareket edebiliyor mu diye bakarsın(taş açmazda olabilir.) Tabi işin içinde özel hareketler falan da var roktur falan. Ancak bir proje ödevi de böyle olmalı zaten bitirdiğin zaman sana bir şeyler kattığını hissedebilmelisin.
Hocam bir yere kadar geldım orda tıkandım, alıntı yaptım kı belkı bır yardımınız dokunur cok acıklayıcı yazmıstınız bayagı ılerledım sayenızde
Bu mesaja 1 cevap geldi. Cevapları Gizle