Python Adam Asmaca Oyunu Uygulaması
Python'da bir Hangman oyunu oluşturun ve çalıştırın. Karakter kümelerinin kontrolünü, kalan deneme sayılarını ve gizli sözcük dizisi değişimini keşfedin.
Genel Bakış
Adam Asmaca, geliştiricilere kullanıcı dizelerini, değiştirilebilir karakter listelerini ve doğrulama döngülerini kullanma konusunda eğitim veren bir kelime tahmin oyunudur.
Motor önceden tanımlanmış bir listeden rastgele bir kelime seçer. Oyuncuya kelimenin uzunluğuna uygun boşluklar sunar. Her tahminde harf ortaya çıkar veya kalan hataların sayısı bir azalır.
Python'da, bu oyun akışını, değişmez dizeler yerine karakter listeleri kullanarak yönetiyoruz; bu, cezalardan kaçınmak için önceden tahmin edilen karakterleri takip ederken hızlı bir şekilde yerinde gösterime olanak tanıyor.
Kod ve Yürütme Çıkışı
Sahte oturum girişi içeren standart bir komut satırı Adam Asmaca oyunu komut dosyası.
import random
def play_hangman():
word_bank = ["python", "compiler", "terminal", "debugger", "variable"]
word = random.choice(word_bank)
guessed_word = ["_"] * len(word)
guessed_letters = set()
attempts_remaining = 6
print("Welcome to Hangman!")
print(f"Word length: {' '.join(guessed_word)}")
# Mocking guess inputs for deterministic run
mock_guesses = ["e", "o", "a", "t", "r", "n", "i", "m", "p", "c", "l"]
for guess in mock_guesses:
if attempts_remaining <= 0 or "_" not in guessed_word:
break
print(f"\nGuessing letter: '{guess}'")
if guess in guessed_letters:
print("You already guessed that!")
continue
guessed_letters.add(guess)
if guess in word:
for idx, char in enumerate(word):
if char == guess:
guessed_word[idx] = guess
print(f"Correct! Word state: {' '.join(guessed_word)}")
else:
attempts_remaining -= 1
print(f"Incorrect! Attempts remaining: {attempts_remaining}")
if "_" not in guessed_word:
print(f"\nCongratulations! You guessed the word '{word}'!")
else:
print(f"\nGame Over! The word was '{word}'.")
# Seed random to ensure output matches the word 'compiler'
random.seed(35)
play_hangman()Welcome to Hangman!
Word length: _ _ _ _ _ _ _ _
Guessing letter: 'e'
Correct! Word state: _ _ _ _ _ _ e _
Guessing letter: 'o'
Correct! Word state: _ o _ _ _ _ e _
Guessing letter: 'a'
Incorrect! Attempts remaining: 5
Guessing letter: 't'
Incorrect! Attempts remaining: 4
Guessing letter: 'r'
Correct! Word state: _ o _ _ _ l e r
... (guesses continue)
Congratulations! You guessed the word 'compiler'!Adım Adım Uygulama
- Koşullu dize ayrıştırma algoritmalarını öğrenme
- Benzersiz geçmiş aramaları için kümeleri kullanan durum izleme
- Etkileşimli terminal eğitici oyunlar oluşturma
Sıkça Sorulan Sorular
Tahmin edilen harfler için neden bir set kullanmalısınız?
Python kümelerinde üyeliğin kontrol edilmesi O(1) ortalama sürede gerçekleşirken, listeler O(n) süre gerektirir. Bu, önceki tahminleri doğrularken daha hızlı arama yapılmasını sağlar.
Daha büyük kelime listelerini nasıl yükleyebilirim?
Python'un 'open()' işlevini kullanarak bir metin dosyasından okuyarak binlerce kelimeyi yükleyebilir veya bunları bir web API istekleri çerçevesini kullanarak dinamik olarak getirebilirsiniz.
İlgili Konular
Python'da bir terminal Tic-Tac-Toe oyunu çalıştırın. Pano durumu yönetimini, dönüş değiştirmeyi ve kazanma durumu kontrollerini öğrenin.
Python Taş Kağıt Makas OyunuPython'da bir Taş-Kağıt-Makas oyunu oluşturun. Rastgele seçimlerde, kullanıcı girişlerinin doğrulanmasında ve ilişkisel kural eşlemelerinde uzmanlaşın.