İçeriğe geç

C++ İle Basit Adam Asmaca Oyunu

Merhaba arkadaşlar! Bugün, C++ programlama dilini kullanarak basit bir “Adam Asmaca” oyununu nasıl oluşturacağımızı adım adım açıklayacağım. Bu oyun, rastgele seçilen bir kelimeyi tahmin etmeye dayanır ve kullanıcıya her tahmininde ipuçları sağlar.

1. Giriş:

İlk olarak, gerekli başlık dosyalarını içeri aktarıyoruz. Bu dosyalar, standart giriş ve çıkış işlemleri için iostream, metin dizeleri için string, dinamik dizi depolaması için vector, rastgele sayı üretimi için ctime ve cstdlib başlık dosyalarıdır.

#include <iostream>
#include <string>
#include <vector>
#include <ctime>
#include <cstdlib>

2. Ana Kod:

Oyunun ana mantığını oluşturan kod parçacığı burada bulunmaktadır. Rastgele bir kelime seçilir ve kullanıcıya kelimeyi tahmin etmesi için ipuçları sağlanır.

using namespace std;

vector<string> words = {"bilgisayar", "programlama", "python", "cpp", "javascript", "algoritma", "veri", "yapıları"};

string selectRandomWord() {
    srand(time(0));
    int randomIndex = rand() % words.size();
    return words[randomIndex];
}

int main() {
    string word = selectRandomWord();
    int tries = 0;
    const int maxTries = 7;
    string guessed(word.size(), '_');

    cout << "Hoş geldiniz! Adam Asmaca oyununa başlayalım." << endl;

    while (tries < maxTries) {
        cout << "Tahmin et: " << guessed << endl;
        char guess;
        cout << "Bir harf tahmin edin: ";
        cin >> guess;

        bool found = false;
        for (int i = 0; i < word.size(); ++i) {
            if (word[i] == guess) {
                guessed[i] = guess;
                found = true;
            }
        }

        if (!found) {
            ++tries;
            cout << "Yanlış tahmin. Kalan hakkınız: " << maxTries - tries << endl;
        }

        if (guessed == word) {
            cout << "Tebrikler! Doğru kelimeyi buldunuz: " << word << endl;
            break;
        }
    }

    if (tries == maxTries) {
        cout << "Oyunu kaybettiniz! Doğru kelime: " << word << endl;
    }

    return 0;
}

Bu kod parçası, oyunun ana mantığını içerir. Oyun, rastgele bir kelime seçer, kullanıcının tahminlerini kabul eder ve doğru tahmini kontrol eder. Kullanıcının tahmin sayısını sınırlar ve hatalı tahminlerde kullanıcıya geri bildirim sağlar.

3. Oyunun İşleyişi:

Oyun, kullanıcıya hoş geldiniz mesajı ile başlar. Ardından, kullanıcıya kelimenin kaç harften oluştuğunu gösterir ve bir harf tahmin etmesini ister. Her tahmin sonrasında, kullanıcıya doğru tahmin ettiği harfler gösterilir ve hatalı tahminlerde kullanıcıya geri bildirim sağlanır. Kullanıcı, kelimeyi tamamen tahmin edene veya belirlenen tahmin sayısını aşana kadar devam eder.

Bu şekilde, C++ ile basit bir Adam Asmaca oyununun nasıl oluşturulacağını adım adım açıkladık. Herhangi bir sorunuz varsa, çekinmeden sorabilirsiniz. İyi oyunlar!

Kodu çalıştıralım : 

Kodun tamamı : 

#include <iostream>
#include <string>
#include <vector>
#include <ctime>
#include <cstdlib>

using namespace std;

vector<string> words = {"bilgisayar", "programlama", "python", "cpp", "javascript", "algoritma", "veri", "yapıları"};

string selectRandomWord() {
    srand(time(0));
    int randomIndex = rand() % words.size();
    return words[randomIndex];
}

int main() {
    string word = selectRandomWord();
    int tries = 0;
    const int maxTries = 7;
    string guessed(word.size(), '_');

    cout << "Hoş geldiniz! Adam Asmaca oyununa başlayalım." << endl;

    while (tries < maxTries) {
        cout << "Tahmin et: " << guessed << endl;
        char guess;
        cout << "Bir harf tahmin edin: ";
        cin >> guess;

        bool found = false;
        for (int i = 0; i < word.size(); ++i) {
            if (word[i] == guess) {
                guessed[i] = guess;
                found = true;
            }
        }

        if (!found) {
            ++tries;
            cout << "Yanlış tahmin. Kalan hakkınız: " << maxTries - tries << endl;
        }

        if (guessed == word) {
            cout << "Tebrikler! Doğru kelimeyi buldunuz: " << word << endl;
            break;
        }
    }

    if (tries == maxTries) {
        cout << "Oyunu kaybettiniz! Doğru kelime: " << word << endl;
    }

    return 0;
}

Proje dosyası : link

Kategori:C++Yazılım Dilleri

İlk Yorumu Siz Yapın

Bir yanıt yazın

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