Python Stein-Papier-Schere-Spiel

Erstellen Sie ein Stein-Schere-Papier-Spiel in Python. Beherrschen Sie zufällige Auswahlmöglichkeiten, die Validierung von Benutzereingaben und relationale Regelzuordnungen.

Versuchen Sie es im Editor

Übersicht

Stein-Schere-Papier ist eine Standard-Spiellogik-Herausforderung. Es erfordert die Überprüfung der Eingaben anhand spezifischer Spielregeln und die Ermittlung eines Gewinners.

Anstatt mühsame, vielschichtige If/Else-Leitern zu schreiben, können wir Regeln mithilfe eines Mapping-Wörterbuchs implementieren. Dies ist hoch skalierbar und ermöglicht eine einfache Regelerweiterung (z. B. Hinzufügen von Lizard und Spock).

Das Skript wählt zufällig aus den Standardoptionen aus, vergleicht sie mit der Auswahl des Spielers und druckt Ergebnisse einschließlich Aktualisierungen der Punktestände aus.

Code- und Ausführungsausgabe

Ein Rock Paper Scissors-Skript, das den Wörterbuchregelabgleich und Zufallsmodule veranschaulicht.

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()
Terminal-Ausgabe
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!

Schrittweise Umsetzung

  • Entscheidende Regelverifikationsmatrizen
  • Zufallszahlenauswahl-Engines
  • Projekte zur Kontrollflusslogik im Bildungsbereich

Häufig gestellte Fragen

Wie kann ich das auf Stein-Papier-Schere-Eidechse-Spock erweitern?

Erweitern Sie einfach die Wörterbuchzuordnung „winning_rules“, sodass jeder Schlüssel auf eine Liste von Elementen verweist, die er übertrifft. Zum Beispiel „Rock“: [„Schere“, „Eidechse“]“.

Wie lasse ich das Spiel unendlich laufen, bis der Benutzer es beendet?

Binden Sie die Interaktionslogik in eine „while True:“-Schleife ein und unterbrechen Sie die Ausführung, wenn der Spieler „quit“ eingibt.

Verwandte Themen