Bu basit oyun eğitimi, Python programlamanın temellerini uygulamanıza yardımcı olacaktır.

Python'da bir "Taş, Kağıt, Makas" oyunu oluşturmak, programlama becerilerinizi geliştirmenin harika bir yoludur. Oyunu tek bir Python betiği ile oluşturabilir ve komut satırında oynayabilirsiniz.

Oyun, oyuncuya seçimini sorarak başlar: "taş", "kağıt" veya "makas". Daha sonra yanıtlarını girmelerini bekler. Oyunu, hareketini otomatik olarak seçecek olan bir "bilgisayar" oyuncusuna karşı oynayabilirsiniz.

Oyun ayrıca birçok tur içerebilir. Yani ilk turu kaybetseniz bile, yine de üçte ikisini kazanmayı deneyebilirsiniz!

Oyunu Kurma ve Oyuncudan Hamlelerini Sorma

Oyun başladığında, Python programı oyuncudan "taş", "kağıt" veya "makas" girmesini istemeli ve oyuncunun yanıtını almalıdır. Yeni bir oyun kurmak için .py uzantılı yeni bir Python dosyası oluşturarak başlayın.

Bu öğreticinin tam kodu şu adreste mevcuttur: bir GitHub deposu.

  1. adlı yeni bir dosya oluşturun. RockPaperScissors.py.
  2. Notepad++ veya Visual Studio Code gibi herhangi bir metin düzenleyiciyi kullanarak yeni Python dosyasını açın.
  3. instagram viewer
  4. Dosyanın en üstünde rastgele modülü içe aktarın. Bunu oyunun ilerleyen bölümlerinde bilgisayarın dönüşü için rastgele bir hareket seçmek için kullanacaksınız.
    içe aktarmak rastgele
  5. Oyuncuya taş, kağıt veya makas oynamasını isteyen bir mesaj sunun.
    kullanıcıSeçimi = giriş("Taş mı, kağıt mı, makas mı? ").daha düşük()
  6. Sizin veya bilgisayarın oynayabileceği mevcut hareketlerin bir listesini saklayan "moveOptions" adlı bir dizi başlatın.
    taşımaSeçenekleri = ['kaynak', 'kağıt', 'makas']
  7. Oyuncu bir girdi girdiğinde, mevcut hamlelerden biri olduğundan emin olmak için bunu doğrulayın. Oyuncu geçerli bir hamle yaptığında, bir onay mesajı yazdırın.
    sırasında (kullanıcı seçimi değil içinde Hareket Seçenekleri):
    kullanıcıSeçimi = giriş("Geçersiz seçim. Taş, kağıt veya makas olmalı: ").daha düşük()

    Yazdır("")
    Yazdır(sen seçtin {kullanıcıChoice}.")

Bilgisayarla Dönüş Nasıl Yapılır ve Hareketler Nasıl Karşılaştırılır

Hamlenizi girdikten sonra, bilgisayar rastgele "taş", "kağıt" veya "makas" seçerek sırasını alacaktır. Oyun daha sonra kimin kazandığını belirlemek için sizin hamlenizi bilgisayarın hamlesiyle karşılaştırmalı.

  1. Bilgisayarın mevcut hareketler listesinden rastgele seçim yapmasını sağlamak için rastgele modülünü kullanın.
    bilgisayarChoice = rastgele.seçim (moveOptions)
    Yazdır(f"Bilgisayar seçti {bilgisayar Seçimi}.")
  2. Kimin kazandığını belirlemek için hamlenizi bilgisayarın hamlesiyle karşılaştırmanız gerekecek. Bunu yeni bir sözlük oluşturarak yapabilirsiniz. Bu sözlük, her hareketi (örneğin, "taş") ve hangi hamlede kazandığını veya kaybettiğini (örneğin, "taş", "makas"ı yener ve "kağıda" kaybeder) içerir.
    hamle = {
    'kaynak': { 'vuruş': 'makas', 'kaybeden': 'kağıt' },
    'makas': { 'vuruş': 'kağıt', 'kaybeden': 'kaynak' },
    'kağıt': { 'vuruş': 'kaynak', 'kaybeden': 'makas' },
    }
  3. Python if deyimini kullanın hamlenizin ve bilgisayarın hareketinin berabere sonuçlanıp sonuçlanmadığını kontrol etmek için. Aksi takdirde, oyuncunun hamlesini bilgisayarın hamlesiyle karşılaştırmak için hamle sözlüğünü kullanın.
    userChoice == computerChoice ise:
    Yazdır(f"Hem siz hem de bilgisayar seçti {kullanıcıChoice}. Bir kravat!")
    başka:
    eğer (hareket[userChoice]['vuruş'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} vuruşlar {bilgisayar Seçimi}. Sen kazandın!")

    eğer (hareket[userChoice]['kaybeden'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} kaybeder {bilgisayar Seçimi}. Bilgisayar kazandı!")
    Örnek olarak, "rock"ı seçtiyseniz, moves[userChoice]['beats'] değeri "makas" olur. Bilgisayarın seçimi "makas" ise, bu sizin hamlenizin onlarınkini yendiği anlamına gelir.

Çoklu Turlar Arasında Oyuncu ve Bilgisayar Arasındaki Skoru Nasıl Tutarsınız?

Ayrıca, sizin ve bilgisayarın üçer tur attığı ek turlar da ekleyebilirsiniz.

Siz ve bilgisayar taş, kağıt veya makas seçtikten sonra oyun size tekrar soracak ve puanlarınızı takip edecektir. Oyuncunun puanı, o turu kimin kazandığına bağlı olarak artar.

  1. Geçerli kod, hem oyuncu hem de bilgisayar tarafından yapılan tek bir tur turunu temsil eder. Yeni bir turn() işlevi içindeki import deyimi dışındaki tüm geçerli kodu ekleyin. Çıktı mesajlarını "Sen kazandın" yerine "Bu turu sen kazandın" şeklinde değiştirebilirsiniz:
    kesindönüş():
    kullanıcıSeçimi = giriş("Taş mı, kağıt mı, makas mı? ").daha düşük()

    taşımaSeçenekleri = ['kaynak', 'kağıt', 'makas']

    sırasında (kullanıcı seçimi değil içinde Hareket Seçenekleri):
    kullanıcıSeçimi = giriş("Geçersiz seçim. Taş, kağıt veya makas olmalı: ").daha düşük()

    Yazdır("")
    Yazdır(sen seçtin {kullanıcıChoice}.")

    bilgisayarChoice = rastgele.seçim (moveOptions)
    Yazdır(f"Bilgisayar seçti {bilgisayar Seçimi}.")

    hamle = {
    'kaynak': { 'vuruş': 'makas', 'kaybeden': 'kağıt' },
    'makas': { 'vuruş': 'kağıt', 'kaybeden': 'kaynak' },
    'kağıt': { 'vuruş': 'kaynak', 'kaybeden': 'makas' },
    }

    userChoice == computerChoice ise:
    Yazdır(f"Hem siz hem de bilgisayar seçti {kullanıcıChoice}. Bir kravat!")
    başka:
    eğer (hareket[userChoice]['vuruş'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} vuruşlar {bilgisayar Seçimi}. Bu turu sen kazandın!")

    eğer (hareket[userChoice]['kaybeden'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} kaybeder {bilgisayar Seçimi}. Bilgisayar kazandı!")

  2. Oyuncu ve bilgisayar, her biri üç tur alır. Dosyanın en üstüne "turns" adlı genel bir değişken ekleyin.
    dönüşler = 3
  3. turn() işlevinden sonra, döngü için bir Python kullanın turu üç kez tekrarlamak için. Her turun başında, tur numarasını yazdırın. Oyuncudan ve bilgisayardan o tur için hamlelerini yapmalarını istemek için turn() işlevini çağırın.
    menzil içinde i için (dönüşler):
    Yazdır("")
    Yazdır(f" Yuvarlak {i+1}: ")
    dönüş()
  4. Her turu kimin kazandığını takip etmek için dosyanın en üstüne her oyuncu için bir puan değişkeni ekleyin. Bu değişkenlere turn() fonksiyonu içinde değerler atayacaksınız, bu yüzden onları global değişkenler olarak kullandığınızdan emin olun.
    bilgisayar Puanı = 0
    oyuncu Puanı = 0

    kesindönüş():
    küresel bilgisayar Puanı, oyuncu Puanı

  5. turn() işlevinin içinde, hem oyuncu hem de bilgisayar hamlesini yaptıktan sonra, kazananın puanına bir puan ekleyin. "playerScore" veya "computerScore" değişkeninin değerini artırmak için if ifadesini değiştirin.
    eğer (hareket[userChoice]['vuruş'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} vuruşlar {bilgisayar Seçimi}. Bu turu sen kazandın!")
    oyuncu Puanı += 1

    eğer (hareket[userChoice]['kaybeden'] == bilgisayarSeçimi):
    Yazdır(F"{kullanıcıChoice} kaybeder {bilgisayar Seçimi}. Bilgisayar kazandı!")
    bilgisayar Puanı += 1

  6. turn() işlevinin sonunda, her oyuncu için toplam puanlara bir güncelleme yazdırın.
    # Turdan sonra toplam puanlarla ilgili bir güncelleme yazdırın
    Yazdır("")
    Yazdır(f"SCOREBOARD | Oyuncunun skoru: {playerScore} | Bilgisayarın puanı: {bilgisayar Puanı}")
  7. Oyunun en sonunda ve oyuncu ile bilgisayarın dönüşlerini tekrarlayan for döngüsünden sonra nihai kazananı yazdırın.
    Yazdır("")

    eğer (bilgisayar Puanı > oyuncu Puanı):
    Yazdır(f"Bilgisayar ile kazanır {bilgisayar Puanı} puan!")
    elif (playerScore > bilgisayarScore):
    Yazdır(f" ile kazandın {playerScore} puan!")
    başka:
    Yazdır(f"Bu bir kravat! ile ikiniz de kazanırsınız {playerScore} puan!")

Oyunu Çalıştırma

Oyunu oynamak için bir terminal veya komut istemi kullanarak Python betiğini çalıştırın. Hareketinizi girin ve bilgisayarın kendilerininkini yapmasını bekleyin. Üç turu tamamladığınızda, program kazananı gösterecektir.

  1. Bir komut istemi veya terminal açın ve Python dosyanızı sakladığınız klasöre gidin.
  2. Komut dosyasını çalıştırmak için python komutunu kullanın:
    pitonTaş kağıt makas.py
  3. Oyunu 'taş', 'kağıt' veya 'makas' girerek oynayın.

Oyunlar Oluşturarak Python Öğrenin

"Taş, Kağıt, Makas" oyunu gibi basit oyunlar yaratmak, programlama kavramlarına daha aşina olmanın harika bir yoludur. Metin tabanlı bir macera oyunu gibi Python kullanarak yapabileceğiniz pek çok eğlenceli oyun var.