Şimdi Ara

C++ Satranç - Çok Karmaşık (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
29
Cevap
0
Favori
5.364
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 12
Sayfaya Git
Git
Giriş
Mesaj
  • Teşekkür ederim, fikirleriniz bana yol gösteriyor fakat kodlama konusundada üstteki koddan ileriye geçebilmiş değilim :-/
  • Ö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.
  • quote:

    Orijinalden alıntı: TeaTone

    Ö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 ??
  • quote:

    Orijinalden alıntı: dogauzun

    Benim aklıma gelen en basit çözüm şu şekilde:

    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




  • Bayağı ilerledim hamleler vs hersey tamam ama şurda tıkandım.

    Karşı tarafın taşlarını nasıl alıcaz ???
    Şah'ı alındıgında nasıl oyunu bıtırıcez ??
    ?



    < Bu mesaj bu kişi tarafından değiştirildi clfkaya -- 21 Aralık 2012; 1:32:38 >
  • oyun tek taraflı olacak. ödev dosyasını dikkatli okumadın mı? Sen sadece taşlarını kurala göre hareket ettireceksin. Ödevdeki amaç bu.
  • quote:

    Orijinalden alıntı: TeaTone

    oyun tek taraflı olacak. ödev dosyasını dikkatli okumadın mı? Sen sadece taşlarını kurala göre hareket ettireceksin. Ödevdeki amaç bu.

    ben cıft taraflı bıle yaptım da tasları nasıl alıcam dıye dusunuyorum :D

    eyv hocam saolasın
  • quote:

    Orijinalden alıntı: clfkaya

    quote:

    Orijinalden alıntı: TeaTone

    oyun tek taraflı olacak. ödev dosyasını dikkatli okumadın mı? Sen sadece taşlarını kurala göre hareket ettireceksin. Ödevdeki amaç bu.

    ben cıft taraflı bıle yaptım da tasları nasıl alıcam dıye dusunuyorum :D

    eyv hocam saolasın

    ya sen ödev dökümanını biraz daha incele. Ayrıntılara dikkat et. Hoca zaten kodun hemen hemen yarısını paylaşmış orada.
  • netten satranç algoritmasını bulup entegre edeceksen kendin bulmaya çalışırsan çok işin var
  • 
Sayfa: önceki 12
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.