folder Tahribat.com Forumları
linefolder C - C++
linefolder Satrançta Atın Hareketi(C++)



Satrançta Atın Hareketi(C++)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ryres
    Ryres's avatar
    Kayıt Tarihi: 14/Nisan/2012
    Erkek

    #include <iostream>
    #include <conio.h>
    #include <windows.h>
    using namespace std;

    int tahta[8][8] = { 0 };

    const int basX = 3;
    const int basY = 3;

    const int yatay[8] = { 1, 1, -1, -1, 2, 2, -2, -2 };
    const int dikey[8] = { 2, -2, 2, -2, 1, -1 , 1, -1 };

    void tahtaGoster()
    {
    int x;
    int y;

    for (x = 0;x < 8;x++)
    {
    for (y = 0;y < 8;y++)
    {
    cout << tahta[x][y] << " ";
    }
    cout << endl;
    }
    };

    void hamleYap()
    {
    int hamle, rast;

    int konumX = basX;
    int konumY = basY;

    int geciciX = 0;
    int geciciY = 0;

    while (hamle <= 64)
    {
    rast = rand()%8;

    geciciX = konumX + yatay[rast];
    geciciY = konumY + dikey[rast];

    if (geciciX < 0 || geciciX > 7 || geciciY < 0 || geciciY > 7)
    { continue; }

    if (tahta[geciciX][geciciY] == 0)
    {
    konumX = geciciX;
    konumY = geciciY;

    tahta[geciciX][geciciY] = 1;
    system("cls");

    tahtaGoster();
    ++hamle;
    }
    }
    }

    int main()
    {
    srand(time(NULL));
    tahta[basX][basY] = 1;

    tahtaGoster();
    hamleYap();

    getch();
    return 0;
    }

     

    Deitel'in kitabında çözüm örneği anlatıldığı şekilde bir program yazdım ama taş köşeye sıkışması olayı vs. var tamamlanamıyor tüm kareler ne yapabilirim ?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Odd Emoji 3D
    BerkayCit
    BerkayCit's avatar
    Kayıt Tarihi: 25/Şubat/2011
    Erkek

    satranç işi çok zor iş müridim, kendini geliştirmek amaçlı tabi birşeyler yap ama fazla bulaşma derim :)

     

    düşünüyorum birşey bulursam söylerim :D


    havalı bir şeyler yazdığımı hayal edin
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

    Rastgele şekilde 64 kareyi gezmeye çalışıyosun sanırım sıkışma yüksek ihtimal olur zaten o şekilde sıkışma olduğunda tüm tahtayı sıfırlayıp baştan başlaman lazım ama baya uzun sürebilir.Basit bi yapay zeka algoritması kullanabilirsin hamlelere puan vererek sıkışma gerçekleşme ihtimali daha fazla olan yerleri tercih edebilirsin.


    Saçma
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RETRET
    RETRET's avatar
    Kayıt Tarihi: 16/Eylül/2007
    Erkek

    cplus.about.com/od/chess-engines/Source-Code-For-Chess-Engines-C-C-And-C.htm

    incele.

     


    ulan hepiniz yaşlanmışlınız size inat ben yaşlanmayacam saç da ektirecem pilates de yapacam, götümü yiyin.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blackfire
    Blackfire's avatar
    Kayıt Tarihi: 06/Temmuz/2008
    Erkek

    geçen sene okul projemizdi C de yazdıydım ama şu anda ne yaptım ne ettiydim hatırlamıyorum bulursam atarım incelersin

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ryres
    Ryres's avatar
    Kayıt Tarihi: 14/Nisan/2012
    Erkek

    İlgilenen arkadaşlara teşekkürler, Deitel'in kitabında seretide'nin dediği gibi bir çözüm önerisi sunmuş deniyim yapabilirsem yapıcam.

Toplam Hit: 2211 Toplam Mesaj: 6