top of page

Number Guessing Game


Hands-on Mentor Projects
Hands-on Mentor Projects


Number Guessing Game Nedir?

Number Guessing Game (Sayı Tahmin Oyunu), bir oyuncunun belirli bir aralıkta rastgele seçilen bir sayıyı tahmin etmeye çalıştığı basit bir oyundur. Oyuncuya her tahminden sonra, tahminin doğru olup olmadığı, seçilen sayıdan büyük mü yoksa küçük mü olduğu söylenir. Oyuncu doğru sayıyı bulana kadar tahmin etmeye devam eder.


Proje Hedefleri ve Öğrenci Faydaları

Bu proje ile öğrenciler, temel Python bilgilerini kullanarak basit ve fonksiyonel programlar geliştirme becerilerini pekiştireceklerdir. Ayrıca, kullanıcı etkileşimi ve rastgele sayı üretimi konularında deneyim kazanacaklardır.



Projenin Hedef Çıktıları


  • Temel Python yapıları ve kontrol akışlarını kullanarak bir oyun simülasyonu oluşturma.

  • Kullanıcıdan veri alma ve bu verileri işleyerek oyun akışını yönetme.

  • Fonksiyonlar yardımıyla daha modüler ve okunabilir kod yazma.



Projenin Adım Adım Görevleri


  1. Rastgele bir sayı seçme.

  2. Kullanıcıdan tahmin alma.

  3. Kullanıcının tahminini kontrol etme ve geri bildirim sağlama.

  4. Kullanıcı doğru tahmini yapana kadar oyunu devam ettirme.

  5. Oyunun sonucunu ekrana yazdırma.

  6. Fonksiyonlar kullanarak kodu daha modüler hale getirme.



Adım 1: Rastgele Bir Sayı Seçme

İlk adım olarak, belirli bir aralıkta rastgele bir sayı seçilecektir.


import random

# Rastgele bir sayı seçme
rastgele_sayi = random.randint(1, 100)

Bu kod parçası, 1 ile 100 arasında rastgele bir sayı seçer ve rastgele_sayi değişkenine atar. random.randint() fonksiyonu, belirtilen aralıktaki rastgele bir tam sayı döndürür.



Adım 2: Kullanıcıdan Tahmin Alma

İkinci adımda, kullanıcıdan bir tahmin alınacaktır.


# Kullanıcıdan tahmin alma
def tahmin_al():
    """Kullanıcıdan bir tahmin alır."""
    tahmin = int(input("1 ile 100 arasında bir sayı tahmin edin: "))
    return tahmin

Bu fonksiyon, kullanıcıdan bir tahmin alır ve döndürür.



Adım 3: Kullanıcının Tahminini Kontrol Etme ve Geri Bildirim Sağlama

Üçüncü adımda, kullanıcının tahmini kontrol edilecek ve geri bildirim sağlanacaktır.


# Kullanıcının tahminini kontrol etme ve geri bildirim sağlama
def tahmini_kontrol_et(tahmin, rastgele_sayi):
    """Kullanıcının tahminini kontrol eder ve geri bildirim sağlar."""
    if tahmin < rastgele_sayi:
        print("Daha büyük bir sayı tahmin edin.")
        return False
    elif tahmin > rastgele_sayi:
        print("Daha küçük bir sayı tahmin edin.")
        return False
    else:
        print("Tebrikler! Doğru tahmin.")
        return True

Bu fonksiyon, kullanıcının tahminini kontrol eder ve geri bildirim sağlar. Tahmin doğruysa True, değilse False döndürür.



Adım 4: Kullanıcı Doğru Tahmini Yapana Kadar Oyunu Devam Ettirme

Dördüncü adımda, kullanıcı doğru tahmini yapana kadar oyun devam ettirilecektir.


# Kullanıcı doğru tahmini yapana kadar oyunu devam ettirme
def oyun_devam_et(rastgele_sayi):
    """Kullanıcı doğru tahmini yapana kadar oyunu devam ettirir."""
    dogru_tahmin = False
    while not dogru_tahmin:
        tahmin = tahmin_al()
        dogru_tahmin = tahmini_kontrol_et(tahmin, rastgele_sayi)

Bu fonksiyon, kullanıcı doğru tahmini yapana kadar oyunu devam ettirir.



Adım 5: Oyunun Sonucunu Ekrana Yazdırma

Beşinci adımda, oyunun sonucu ekrana yazdırılacaktır.


# Oyunun sonucunu ekrana yazdırma
def oyun_sonu():
    """Oyunun sonucunu ekrana yazdırır."""
    print("Oyun sona erdi. Tekrar oynamak ister misiniz? (e/h)")
    karar = input().lower()
    return karar == 'e'

Bu fonksiyon, oyunun sonucunu ekrana yazdırır ve kullanıcıya oyunu tekrar oynamak isteyip istemediğini sorar.



Adım 6: Fonksiyonlarla Çözüm


Oyunu Başlatma Fonksiyonu

Bu fonksiyon, Number Guessing Game oyununu başlatır ve oyunun akışını yönetir.


def oyunu_baslat():
    """Number Guessing Game oyununu başlatır."""
    while True:
        rastgele_sayi = random.randint(1, 100)
        print("1 ile 100 arasında bir sayı seçildi.")
        oyun_devam_et(rastgele_sayi)
        if not oyun_sonu():
            break

# Oyunu başlatma
oyunu_baslat()

Bu fonksiyon, Number Guessing Game oyununu başlatır ve oyunun akışını yönetir. Kullanıcı tahminlerini alır, tahminleri kontrol eder ve oyunun sonucunu belirler.



Kullanılan Konular

  • Veri Tipleri: Bu projede, tam sayılar (rastgele sayı, kullanıcı tahmini) ve stringler (kullanıcı girişi) kullanılmıştır.

  • Koşullu İfadeler: if-else yapıları, kullanıcının tahminini kontrol etmek ve geri bildirim sağlamak için kullanılmıştır.

  • Fonksiyonlar: Fonksiyonlar, kodun modüler ve tekrar kullanılabilir olmasını sağlamıştır.

  • Döngüler: while döngüsü, kullanıcı doğru tahmini yapana kadar oyunu devam ettirmek için kullanılmıştır.

  • Random Modülü: random.randint() fonksiyonu, belirtilen aralıktaki rastgele bir tam sayı seçmek için kullanılmıştır.

 

bottom of page