Mustafa Aferin
Özgün ve farklı içerikler üreten python, linux ve teknoloji haberleri okumayı seven birisi

Python ile Kelime Tahmin Oyunu: Adım Adım Kodlama Rehberi

Python ile Kelime Tahmin Oyunu: Adım Adım Kodlama Rehberi

Python, öğrenmesi kolay sözdizimi ve geniş kütüphane desteği sayesinde yeni başlayanlar için ideal bir programlama dilidir. Bu makalede, Python kullanarak basit ama eğlenceli bir kelime tahmin oyunu geliştireceğiz. Bu proje, döngüler, koşullu ifadeler, rastgele sayılar ve dizeler gibi temel Python kavramlarını pekiştirmenize yardımcı olacaktır. Oyunumuz, kullanıcının önceden belirlenmiş bir kelime listesinden rastgele seçilen bir kelimeyi tahmin etmesini gerektirecek. Her yanlış tahminde, kullanıcıya kelime hakkında ipuçları verilecek ve tahmin etme şansı azaltılacak. Hazırsanız, kodlamaya başlayalım!

Oyunun Temel Mantığı

Kelime tahmin oyunumuzun temel mantığı şu şekilde olacak:

  1. Bir kelime listesi tanımlanacak.
  2. Bu listeden rastgele bir kelime seçilecek.
  3. Kullanıcıdan kelimeyi tahmin etmesi istenecek.
  4. Kullanıcının tahmini doğruysa, oyun sonlandırılacak ve kullanıcı tebrik edilecek.
  5. Kullanıcının tahmini yanlışsa, kullanıcıya ipucu verilecek ve tahmin etme hakkı azaltılacak.
  6. Kullanıcının tahmin etme hakkı biterse, oyun sonlandırılacak ve doğru kelime gösterilecek.

Adım 1: Gerekli Kütüphaneleri İçe Aktarma

Oyunumuz için rastgele kelime seçmek üzere `random` kütüphanesine ihtiyacımız olacak.


import random

Adım 2: Kelime Listesini Tanımlama

Oyunumuzda kullanılacak kelimeleri bir listede saklayacağız. Bu listeyi istediğiniz kadar genişletebilirsiniz.


kelimeler = ['python', 'programlama', 'bilgisayar', 'algoritma', 'veri', 'fonksiyon', 'döngü', 'değişken', 'sözdizimi', 'modül']

Adım 3: Rastgele Kelime Seçme

`random.choice()` fonksiyonunu kullanarak listeden rastgele bir kelime seçeceğiz.


kelime = random.choice(kelimeler)

Adım 4: Kullanıcıya Kelime Hakkında Bilgi Verme

Kullanıcıya kelimenin uzunluğunu ve bazı harflerini göstererek ipucu verebiliriz. Örneğin, kelime 'python' ise, kullanıcıya '_ _ _ _ _ _' şeklinde bir ipucu gösterebiliriz. Daha sonra, her yanlış tahminde bir harfi açığa çıkarabiliriz.


uzunluk = len(kelime)
gösterilen_kelime = ['_'] * uzunluk
print('Kelime', uzunluk, 'harfli.')
print(' '.join(gösterilen_kelime))

Adım 5: Kullanıcıdan Tahmin İsteme ve Kontrol Etme

Kullanıcıdan bir tahmin alacağız ve bu tahmini doğru kelimeyle karşılaştıracağız. Tahmin doğruysa, kullanıcıyı tebrik edeceğiz ve oyunu sonlandıracağız. Yanlışsa, kullanıcıya ipucu vereceğiz ve tahmin etme hakkını azaltacağız.


hak = 6  # Kullanıcının 6 tahmin hakkı olsun

while hak > 0:
    tahmin = input('Bir harf tahmin edin: ').lower()

    if len(tahmin) != 1:
        print('Lütfen sadece bir harf girin.')
        continue

    if tahmin in kelime:
        for i in range(uzunluk):
            if kelime[i] == tahmin:
                gösterilen_kelime[i] = tahmin
        print('Doğru tahmin!')
        print(' '.join(gösterilen_kelime))

        if '_' not in gösterilen_kelime:
            print('Tebrikler, kelimeyi buldunuz!')
            break
    else:
        hak -= 1
        print('Yanlış tahmin! Kalan hakkınız:', hak)

    if hak == 0:
        print('Hakkınız bitti! Kelime:', kelime)

Adım 6: Oyunu Birleştirme

Yukarıdaki adımları birleştirerek tam bir kelime tahmin oyunu oluşturabiliriz:


import random

kelimeler = ['python', 'programlama', 'bilgisayar', 'algoritma', 'veri', 'fonksiyon', 'döngü', 'değişken', 'sözdizimi', 'modül']

kelime = random.choice(kelimeler)
uzunluk = len(kelime)
gösterilen_kelime = ['_'] * uzunluk
hak = 6

print('Kelime', uzunluk, 'harfli.')
print(' '.join(gösterilen_kelime))

while hak > 0:
    tahmin = input('Bir harf tahmin edin: ').lower()

    if len(tahmin) != 1:
        print('Lütfen sadece bir harf girin.')
        continue

    if tahmin in kelime:
        for i in range(uzunluk):
            if kelime[i] == tahmin:
                gösterilen_kelime[i] = tahmin
        print('Doğru tahmin!')
        print(' '.join(gösterilen_kelime))

        if '_' not in gösterilen_kelime:
            print('Tebrikler, kelimeyi buldunuz!')
            break
    else:
        hak -= 1
        print('Yanlış tahmin! Kalan hakkınız:', hak)

    if hak == 0:
        print('Hakkınız bitti! Kelime:', kelime)

Adım 7: Oyunu Geliştirme (İpuçları ve Öneriler)

Bu temel oyunu daha da geliştirmek için aşağıdaki ipuçlarını ve önerileri değerlendirebilirsiniz:

  • **Zorluk Seviyeleri:** Kelime listesini zorluk seviyelerine göre ayırabilir ve kullanıcıya bir zorluk seviyesi seçme imkanı sunabilirsiniz.
  • **Temalar:** Kelime listesini temalara göre ayırabilir (örneğin, hayvanlar, şehirler, yemekler) ve kullanıcıya bir tema seçme imkanı sunabilirsiniz.
  • **İpuçları:** Kullanıcıya harf dışında farklı türde ipuçları verebilirsiniz (örneğin, kelimenin anlamı, eş anlamlısı).
  • **Grafik Arayüz:** Konsol yerine grafik bir arayüz (GUI) kullanarak oyunu daha görsel hale getirebilirsiniz. Tkinter, Pygame veya Kivy gibi Python kütüphanelerini kullanarak GUI geliştirebilirsiniz.
  • **Puanlama Sistemi:** Doğru tahminlere puan verebilir, yanlış tahminlerden puan düşürebilir ve kullanıcının puanını takip edebilirsiniz.
  • **Dosyadan Kelime Okuma:** Kelime listesini doğrudan kodda tanımlamak yerine, bir dosyadan okuyabilirsiniz. Bu, kelime listesini kolayca güncelleyebilmenizi sağlar.

Adım 8: Daha Gelişmiş Bir Örnek (Dosyadan Kelime Okuma ve İpuçları)

Aşağıdaki örnek, kelime listesini bir dosyadan okur ve kullanıcıya kelimenin kategorisi hakkında ipucu verir.


import random

# Kelime listesini dosyadan oku
def kelime_listesi_oku(dosya_adi):
    kelime_listesi = []
    with open(dosya_adi, 'r', encoding='utf-8') as dosya:
        for satir in dosya:
            kelime, kategori = satir.strip().split(',')
            kelime_listesi.append((kelime, kategori))
    return kelime_listesi

# Rastgele kelime seç
def rastgele_kelime_sec(kelime_listesi):
    return random.choice(kelime_listesi)

# Oyun fonksiyonu
def kelime_tahmin_oyunu():
    kelime_listesi = kelime_listesi_oku('kelimeler.txt')  # kelimeler.txt dosyasının adını buraya girin
    kelime, kategori = rastgele_kelime_sec(kelime_listesi)
    uzunluk = len(kelime)
    gösterilen_kelime = ['_'] * uzunluk
    hak = 6

    print(f'Kelime {uzunluk} harfli. Kategori: {kategori}')
    print(' '.join(gösterilen_kelime))

    while hak > 0:
        tahmin = input('Bir harf tahmin edin: ').lower()

        if len(tahmin) != 1:
            print('Lütfen sadece bir harf girin.')
            continue

        if tahmin in kelime:
            for i in range(uzunluk):
                if kelime[i] == tahmin:
                    gösterilen_kelime[i] = tahmin
            print('Doğru tahmin!')
            print(' '.join(gösterilen_kelime))

            if '_' not in gösterilen_kelime:
                print('Tebrikler, kelimeyi buldunuz!')
                break
        else:
            hak -= 1
            print('Yanlış tahmin! Kalan hakkınız:', hak)

        if hak == 0:
            print('Hakkınız bitti! Kelime:', kelime)

# kelimeler.txt dosyası örneği:
# python,programlama dili
# elma,meyve
# istanbul,şehir

# Oyunu başlat
kelime_tahmin_oyunu()

Bu kod, `kelimeler.txt` adlı bir dosyadan kelime ve kategori bilgilerini okur. Dosyanın her satırı, virgülle ayrılmış bir kelime ve kategori içermelidir. Örneğin: `python,programlama dili`.

Sonuç

Bu makalede, Python kullanarak basit bir kelime tahmin oyununun nasıl geliştirileceğini adım adım öğrendik. Bu proje, Python'ın temel kavramlarını anlamanıza ve pratik yapmanıza yardımcı olacaktır. Oyunu daha da geliştirmek için yukarıdaki ipuçlarını ve önerileri değerlendirebilir ve kendi yaratıcılığınızı kullanarak daha eğlenceli ve ilgi çekici bir oyun yaratabilirsiniz. Unutmayın, programlama öğrenmenin en iyi yolu pratik yapmaktır! Başarılar dilerim!

Cevap bırakın

E-posta hesabınız yayımlanmayacak.