1. Anasayfa
  2. Programlama

Sıfırdan Python Projeleri -7: Bulundu Yerinde Oyunu

Sıfırdan Python Projeleri -7: Bulundu Yerinde Oyunu
0

Python projeleri serimizde kademe kademe her paylaştığımız bir öncekinden daha detaylı olan projeler paylaşmaya devam ediyoruz. Bu projeler sayesinde kendinizi geliştirebilir ve algoritma mantığını daha iyi bir şekilde kavrayabilirsiniz.

 

Python ile Bulundu Yerinde Oyunu

Şimdi de sizlerle python programlama dili ile yazılmış basit bir oyun olan bulundu yerinde oyununu paylaşmak istiyorum.

Bulundu Yerinde Oyunu Nedir?

Bulundu yerinde oyunu aslında bir sayı tahmin etme oyunudur. Bu oyun iki kişi ile oynanır ve siz bu oyunu bilgisayarla oynayacaksınız.

  • Bilgisayar 4 basamaklı rakamları farklı bir sayı belirleyecek. (0 başta olabilir.)
  • Siz ise deneme yanılma yöntemiyle bu 4 basamaklı sayıyı tahmin etmeye çalışacaksınız.

Bu görsel oyunu anlamak için örnektir.

 

Sayıyı bulana kadar programın sürekli çalışması gerekecek yani döngüleri kullanmamız gerekiyor. Eğer döngü kullanmazsak sayıyı tahmin edemesek bile her yazdığımız 4 sayıdan sonra program duracak ve sürekli tekrar başlatmamız gerekecekti. Bu yöntem de pek doğru sayılmaz.

 

Python – Rastgele Sayı Üretme

Bu oyunda bilgisayar 4 basamaklı rakamları farklı rastgele bir sayı üretecek bu yüzden random modülünü kullanmamız gerekiyor.

Python programlama dilinde program yazarken belirli bir aralıkta rastgele sayı üretmek için “random” modülü kullanılır. random modülünün işlevlerinden faydalanabilmek için projeye dahil edilmesi gerekmektedir. Bu işlemi aşağıdaki şekilde yapabiliriz.

import random

randint()

Random modülünü kullandık ve ne olduğunu açıkladık. Programımızda random modülünün randint() fonksiyonunu kullandığımız için bunun da ne olduğunu açıklamak istedim.

Belirli bir aralıkta tam sayı üretmek için kullanılan fonksiyondur. 2 parametre alır. Başlangıç ve bitiş değeri olarak girilen sayılar arasında rastgele sayı tutar.

 

Bulundu Yerinde Oyununun Kodları

 

import random

n = 4
bulundu = 0
yerinde = 0
b = True
while b == True:
    r = random.randint(1000, 9999)
    rstr = str(r)
    b = False
    for i in range(0, n - 1):
        for j  in range(i + 1, n):
            if rstr[i] == rstr[j]: b = True

print("oyun başladı. uyuma...")

cikis = "0000"
tstr = ""
while tstr != cikis:
    b = True
    while b == True:
        tstr = input("tahmininiz giriniz. (0000-oyundan çıkar) :")
        if tstr == cikis:
            print("üzgünüm kaybettiniz...")
            print("tuttuğum sayı", rstr, "idi.")
            tstr = cikis
            break
        if tstr != cikis:
            b = False
            for i in range(0, n - 1):
                for j in range(i + 1, n):
                    if tstr[i] == tstr[j]: b = True
            if b == True:
                print("girilen sayının rakamları farklı olmalıdır...")

    if tstr != cikis:
        bulundu = 0; yerinde = 0
        for i in range(n):
            if rstr.find(tstr[i]) > -1: bulundu += 1
            if rstr[i] == tstr[i]: yerinde += 1
        print(bulundu, "tane bulundu...")
        print(yerinde, "tane yerinde...")

    if yerinde == n:
        print("tebrikler oyunu kazandınız...")
        tstr = cikis

Anlamadığınız kısımları yorumlara yazabilirsiniz. Veya discord üzerindeki topluluğumuza katılarak oradan da sorabilirsiniz. 

 

Ne Düşünüyorsun?
  • 7
    harika_
    Harika!
  • 2
    g_zel_
    Güzel!
  • 2
    haval_
    Havalı!
  • 0
    e_lenceli_
    Eğlenceli!
  • 1
    _zg_n_m_
    Üzgünüm!
  • 6
    sevmedim_
    Sevmedim!

Her zaman yeni bir şeyler öğrenmek isteyen, işleri hep nasıl daha iyi yapabileceğini düşünen ve bu konuda ilginç fikirleri olan hayalperest bir front-end developer.

Yazarın Profili
İlginizi Çekebilir

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