13 Mayıs 2016 Cuma

Basit XOX oyunu yapımı : C++

Bu çalışmamızda basit bir X-O-X oyunu hazırlayacağız.

! Bu yazım, yazılıma yani başlayanlardan çok, belli bir seviyeye gelmiş kişilere hitap ediyor.

Kodları buraya tıklayarak çalıştırıp oyunu oynayabilirsiniz.

C++ Kodları :
  
// Arda Mavi - ardamavi.com

// iostream kütüphanesini dahil etmeyi unutmayınız.

using namespace std;

char zemin[5][5] = {{'1','|','2','|','3'},
                    {'-','|','-','|','-'},
                    {'4','|','5','|','6'},
                    {'-','|','-','|','-'},
                    {'7','|','8','|','9'}};

char oyuncu[2] = {'X','O'};

int yer = 0;

int tur;

void yaz(int, char);


void zeminciz(){

    cout << endl;

    for (int i = 0; i <= 4; i++) {
        for (int j = 0; j <= 4; j++) {
            cout << zemin[i][j] << " " ;
        }
        cout <<  endl;
    }

    cout << endl;

}

void oyna(char player){

    cout << "Sıra "<< player << "'de : " ;

    cin >> yer;

    player == 'X' ? yaz(yer,'X') : yaz(yer,'O');

}

void yaz(int yer, char oyuncu){

    switch(yer){

        case 1:
            zemin[0][0] = oyuncu;
            break;
        case 2:
            zemin[0][2] = oyuncu;
            break;
        case 3:
            zemin[0][4] = oyuncu;
            break;
        case 4:
            zemin[2][0] = oyuncu;
            break;
        case 5:
            zemin[2][2] = oyuncu;
            break;
        case 6:
            zemin[2][4] = oyuncu;
            break;
        case 7:
            zemin[4][0] = oyuncu;
            break;
        case 8:
            zemin[4][2] = oyuncu;
            break;
        case 9:
            zemin[4][4] = oyuncu;
            break;
        default:
            cout << "Hatalı Giriş !" << endl;
            if(oyuncu == 'X') {
                oyna('X');
            }else {
                oyna('Y');
            }

    }

}

int main(){

    zeminciz();

    tur = 1;

    while(tur <= 9){

        oyna(tur%2 == 0 ? oyuncu[1] : oyuncu[0]);

        zeminciz();

        tur++;
    }

    cout << "Oyun Bitti !" << endl;

    return 0;
}


! Kodda Güncelleme : 15 Mayıs 2016

Share this

6 Responses to "Basit XOX oyunu yapımı : C++"

  1. Konsol ekranı ile bu tür şeylerin yapılabileceği aklıma gelmezdi.

    YanıtlaSil
    Yanıtlar
    1. Herşeyi yapabilirsiniz.
      Hayal gücünüze bağlı.

      Sil
  2. Keşke java kodlarını da paylaşsaydınız

    YanıtlaSil
    Yanıtlar
    1. İsterseniz paylaşabilirim.
      Önerim :
      Siz mantığını anlayarak java ile yazabilirsiniz ya da kopyala yapıştır yapınız zaten C++ ile Java arasında (Yukarıdaki program için konuşursak.) çok fark yok küçük syntax farkları.
      Hem bu şekilde yazılımda kendinizi geliştirebilirsiniz.
      İyi çalışmalar.

      Sil
  3. Pic veya Arduino dersleri ya da çalışmaları olacak mı ?

    YanıtlaSil
    Yanıtlar
    1. Olacak.

      Elektronik bilgim iyi sayılmaz o nedenle şu ana kadar paylaşmadım.
      Ama yazılım kısımına ağırlık verirsek olabilir.

      Arduino dersleri olacak. Ama çok ilerlemeyeceğiz. Bazı temel şeyleri anlatmaya çalışırım amaç sayfada kaynak olsun.

      Aklımda Arduino ile bir proje yapımını anlatmak var.
      Projeyide derslere böleriz 4-5 dersde biter.

      Ama güzel olacağını düşünüyorum.

      Umarım işinize yarayan bir kaynak olur.

      İyi çalışmalar.

      Sil