Python Taş Kağıt Makas Oyunu
Python'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.
Genel Bakış
Taş-Kağıt-Makas standart bir oyun mantığı mücadelesidir. Girdilerin belirli oyun kurallarına göre doğrulanmasını ve bir kazananın belirlenmesini gerektirir.
Sıkıcı, çok katmanlı if/else merdivenleri yazmak yerine, bir eşleme sözlüğü kullanarak kuralları uygulayabiliriz. Bu oldukça ölçeklenebilirdir ve kuralların kolayca genişletilmesine olanak tanır (örneğin, Lizard ve Spock'ın eklenmesi).
Komut dosyası, standart seçenekler arasından rastgele seçim yapar, bunu oyuncunun seçimiyle karşılaştırır ve skor güncellemeleri dahil sonuçları yazdırır.
Kod ve Yürütme Çıkışı
Sözlük kuralı eşleştirmeyi ve rastgele modülleri gösteren bir Taş Kağıt Makas komut dosyası.
import random
def get_winner(player, computer):
if player == computer:
return "tie"
# Dictionary mapping choice -> what it beats
winning_rules = {
"rock": "scissors",
"paper": "rock",
"scissors": "paper"
}
if winning_rules[player] == computer:
return "player"
return "computer"
def play_game():
choices = ["rock", "paper", "scissors"]
# Mocking player selections
player_moves = ["rock", "paper", "scissors"]
print("Rock, Paper, Scissors Game!")
# Seed generator for deterministic outputs
random.seed(11)
for player_move in player_moves:
computer_move = random.choice(choices)
winner = get_winner(player_move, computer_move)
print(f"\nPlayer chose: {player_move.capitalize()}")
print(f"Computer chose: {computer_move.capitalize()}")
if winner == "tie":
print("Result: It is a Tie!")
elif winner == "player":
print("Result: Player Wins!")
else:
print("Result: Computer Wins!")
play_game()Rock, Paper, Scissors Game!
Player chose: Rock
Computer chose: Scissors
Result: Player Wins!
Player chose: Paper
Computer chose: Paper
Result: It is a Tie!
Player chose: Scissors
Computer chose: Rock
Result: Computer Wins!Adım Adım Uygulama
- Belirleyici kural doğrulama matrisleri
- Rastgele sayı seçici motorlar
- Eğitimsel kontrol akış mantığı projeleri
Sıkça Sorulan Sorular
Bunu Taş-Kağıt-Makas-Kertenkele-Spock'a nasıl genişletebilirim?
Her bir anahtarın, geçtiği öğelerin bir listesini işaret etmesi için "kazanan_kurallar" sözlük eşlemesini genişletmeniz yeterlidir. Örneğin, `'taş': ['makas', 'kertenkele']`.
Kullanıcı çıkana kadar oyunun sonsuz şekilde çalışmasını nasıl sağlayabilirim?
Etkileşim mantığını bir 'while True:' döngüsü içine sarın ve oynatıcı 'quit' girerse yürütmeyi durdurun.
İ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 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.