Python ile Taş Kağıt Makas Oyunu Kodlama

Bu örneğimizde, Python programlama dilini kullanarak “taş – kağıt – makas” adlı oyunu kodlayacağız. Oyunun kuralları aşağıdaki gibidir:

  • Taş, makası kırarak yener.
  • Kağıt, taşı sararak yener.
  • Makas, kağıdı keserek yener.

Kodlama rastgelelik içerdiği için random modülü kullanılacaktır. Kullanıcıdan veri giriş olacağı için input () fonksiyonundan ve koşul test edileceği için if-else ifadelerinden yararlanılmıştır. Ayrıca kullanıcı, tekrar tekrar oynayabilsin diye döngü içine aldık ve bunun için while döngüsünü kullandık. Bakınız:

import random

oyun_resimleri = ['''taş:
    _______
---'   ____
      (_____)
      (_____)
      (____)
---.__(___)
''',
'''kağıt:
    _______
---'   ____)____
          ______)
          _______)
         _______)
---.__________)
''',
'''makas:
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
''']

devam = "evet"

while devam.lower() == "evet":
    insan_secimi = int(input('''Taş, kağıt, makas? "Taş" seçmek için "0", "kağıt" seçmek için "1" ve "makas" seçmek için "2" rakamına basın...\n'''))

    if 0 <= insan_secimi <= 2:
        print("Seçiminiz...")
        print(oyun_resimleri[insan_secimi])

        bilgisayar_secimi = random.randint(0, 2)
        print("Bilgisayar seçiyor...")
        print(oyun_resimleri[bilgisayar_secimi])

        if insan_secimi == 0 and bilgisayar_secimi == 2:
            print("Kazandınız!")
        elif bilgisayar_secimi == 0 and insan_secimi == 2:
            print("Kaybettiniz!")
        elif bilgisayar_secimi > insan_secimi:
            print("Kaybettiniz")
        elif insan_secimi > bilgisayar_secimi:
            print("Kazandınız!")
        elif bilgisayar_secimi == insan_secimi:
            print("Berabere kaldınız!")
    else:
        print("Geçersiz değer girdiniz...")

    devam = input("Tekrar oynamak ister misiniz? (evet/hayır): ")
  • İlk olarak, taş, kağıt ve makas resimleri bir liste içerisine alınır.
  • Daha sonra, kullanıcıdan taş, kağıt veya makas seçimini yapması istenir. Kullanıcı 0, 1 veya 2 sayılarından birini girer.
  • Eğer kullanıcı 0, 1 veya 2 sayılarından birini girdiyse, seçtiği değer ve bilgisayarın rastgele seçtiği değer ekrana yazdırılır.
  • Daha sonra, kazanan belirlenir:
    • Kullanıcının ve bilgisayarın seçimleri arasındaki fark modulo 3 alınır. Bu sonuca göre:
      • 0 ise, yani seçimler aynı ise, berabere kalınmıştır.
      • 1 ise, yani bilgisayarın seçimi, kullanıcının seçiminden bir sonraki seçim ise, kullanıcı kaybetmiştir.
      • 2 ise, yani kullanıcının seçimi, bilgisayarın seçiminden bir sonraki seçim ise, kullanıcı kazanmıştır.
  • Kazanan belirlendikten sonra sonuç ekrana yazdırılır ve program sonlanır.
  • Eğer kullanıcı 0, 1 veya 2 dışında bir değer girerse, ‘Geçersiz değer girdiniz…’ yazdırılır ve program sonlanır.

İlgili Makaleler

Bir yanıt yazın

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

Başa dön tuşu