Dieses einfache Spiel-Tutorial hilft Ihnen, die Grundlagen der Python-Programmierung zu üben.
Das Erstellen eines „Schere, Stein, Papier“-Spiels in Python ist eine großartige Möglichkeit, Ihre Programmierkenntnisse zu verbessern. Sie können das Spiel mit einem einzigen Python-Skript erstellen und es auf der Befehlszeile spielen.
Das Spiel beginnt damit, dass der Spieler nach seiner Wahl gefragt wird: "Stein", "Papier" oder "Schere". Es wartet dann darauf, dass sie ihre Antwort eingeben. Sie können das Spiel gegen einen "Computer"-Spieler spielen, der automatisch seinen Zug auswählt.
Das Spiel kann auch viele Runden umfassen. Selbst wenn Sie also die erste Runde verlieren, können Sie immer noch versuchen, zwei von drei zu gewinnen!
So richten Sie das Spiel ein und fragen den Spieler nach seinem Zug
Wenn das Spiel beginnt, sollte das Python-Programm den Spieler auffordern, entweder „Stein“, „Papier“ oder „Schere“ einzugeben, und die Antwort des Spielers aufnehmen. Um ein neues Spiel einzurichten, erstellen Sie zunächst eine neue Python-Datei mit der Erweiterung .py.
Der vollständige Code für dieses Tutorial ist in verfügbar ein GitHub-Repository.
- Erstellen Sie eine neue Datei mit dem Namen RockPaperScissors.py.
- Öffnen Sie die neue Python-Datei mit einem beliebigen Texteditor wie Notepad++ oder Visual Studio Code.
- Importieren Sie oben in der Datei das Modul random. Sie werden dies später im Spiel verwenden, um zufällig einen Zug für den Zug des Computers auszuwählen.
importieren willkürlich
- Präsentieren Sie dem Spieler eine Nachricht und bitten Sie ihn, entweder Stein, Papier oder Schere einzugeben.
Benutzerauswahl = Eingabe („Stein, Papier oder Schere? ").untere()
- Initialisieren Sie ein Array namens "moveOptions", das eine Liste der verfügbaren Züge speichert, die entweder Sie oder der Computer spielen können.
moveOptions = ['Felsen', 'Papier', 'Schere']
- Wenn der Spieler eine Eingabe eingibt, überprüfen Sie diese, um sicherzustellen, dass es sich um einen der verfügbaren Züge handelt. Sobald der Spieler einen gültigen Zug eingegeben hat, drucken Sie eine Bestätigungsnachricht aus.
während (userChoice nicht In Bewegungsoptionen):
Benutzerauswahl = Eingabe ("Ungültige Wahl. Muss Stein, Papier oder Schere sein: ").untere()
drucken("")
drucken(f „Du hast gewählt {userChoice}.")
Wie man sich mit dem Computer abwechselt und Züge vergleicht
Sobald Sie Ihren Zug eingegeben haben, ist der Computer an der Reihe, indem er zufällig entweder "Stein", "Papier" oder "Schere" auswählt. Das Spiel muss dann Ihren Zug mit dem Zug des Computers vergleichen, um festzustellen, wer gewonnen hat.
- Verwenden Sie das Zufallsmodul, damit der Computer zufällig aus der Liste der verfügbaren Züge auswählt.
computerChoice = random.choice (moveOptions)
drucken(f"Der Computer hat gewählt {Computerwahl}.") - Sie müssen Ihren Zug mit dem Zug des Computers vergleichen, um festzustellen, wer gewonnen hat. Sie können dies tun, indem Sie ein neues Wörterbuch erstellen. Dieses Wörterbuch enthält jeden Zug (z. B. „Stein“) und den Zug, bei dem er gewinnt oder verliert (z. B. „Stein“ schlägt „Schere“ und verliert gegen „Papier“).
Züge = {
'Felsen': { 'schlägt': 'Schere', 'verliertTo': 'Papier' },
'Schere': { 'schlägt': 'Papier', 'verliertTo': 'Felsen' },
'Papier': { 'schlägt': 'Felsen', 'verliertTo': 'Schere' },
} -
Verwenden Sie die if-Anweisung von Python um zu überprüfen, ob Ihr Zug und der Zug des Computers zu einem Unentschieden führen. Verwenden Sie andernfalls das Zugwörterbuch, um den Zug des Spielers mit dem Zug des Computers zu vergleichen.
Wenn Sie beispielsweise „rock“ wählen, dann wäre der Wert von move[userChoice]['beats'] „scissors“. Wenn die Wahl des Computers "Schere" war, bedeutet das, dass Ihr Zug seinen schlägt.if userChoice == computerChoice:
drucken(f"Sowohl Sie als auch der Computer haben gewählt {userChoice}. Es ist eine Krawatte!")
anders:
Wenn (bewegt[userChoice]['schlägt'] == Computerwahl):
drucken(F"{userChoice} schlägt {Computerwahl}. Du gewinnst!")
Wenn (bewegt[userChoice]['verliertTo'] == Computerwahl):
drucken(F"{userChoice} verliert gegen {Computerwahl}. Der Computer gewinnt!")
Wie man Punkte zwischen dem Spieler und dem Computer zwischen mehreren Runden hält
Sie können auch zusätzliche Runden hinzufügen, in denen Sie und der Computer jeweils drei Züge ausführen.
Sobald Sie und der Computer entweder Stein, Papier oder Schere ausgewählt haben, wird das Spiel Sie erneut fragen und Ihre Punktzahlen verfolgen. Die Punktzahl für den Spieler erhöht sich je nachdem, wer diese bestimmte Runde gewonnen hat.
- Der aktuelle Code stellt eine einzelne Spielrunde dar, die sowohl vom Spieler als auch vom Computer ausgeführt wird. Fügen Sie den gesamten aktuellen Code mit Ausnahme der import-Anweisung in einer neuen turn()-Funktion hinzu. Sie können auch die Ausgabemeldungen entsprechend ändern, um zu sagen „Du gewinnst diese Runde“ statt „Du gewinnst“:
defdrehen():
Benutzerauswahl = Eingabe („Stein, Papier oder Schere? ").untere()moveOptions = ['Felsen', 'Papier', 'Schere']
während (userChoice nicht In Bewegungsoptionen):
Benutzerauswahl = Eingabe ("Ungültige Wahl. Muss Stein, Papier oder Schere sein: ").untere()drucken("")
drucken(f „Du hast gewählt {userChoice}.")computerChoice = random.choice (moveOptions)
drucken(f"Der Computer hat gewählt {Computerwahl}.")Züge = {
'Felsen': { 'schlägt': 'Schere', 'verliertTo': 'Papier' },
'Schere': { 'schlägt': 'Papier', 'verliertTo': 'Felsen' },
'Papier': { 'schlägt': 'Felsen', 'verliertTo': 'Schere' },
}if userChoice == computerChoice:
drucken(f"Sowohl Sie als auch der Computer haben gewählt {userChoice}. Es ist eine Krawatte!")
anders:
Wenn (bewegt[userChoice]['schlägt'] == Computerwahl):
drucken(F"{userChoice} schlägt {Computerwahl}. Du gewinnst diese Runde!")Wenn (bewegt[userChoice]['verliertTo'] == Computerwahl):
drucken(F"{userChoice} verliert gegen {Computerwahl}. Der Computer gewinnt!") - Der Spieler und der Computer haben jeweils drei Züge. Fügen Sie oben in der Datei eine globale Variable namens "turns" hinzu.
Umdrehungen = 3
- Nach der Funktion turn() Verwenden Sie eine Python for-Schleife die Runde dreimal zu wiederholen. Drucken Sie zu Beginn jeder Runde die Rundennummer aus. Rufen Sie die Funktion turn() auf, um den Spieler und den Computer zu bitten, ihre Züge für diese Runde zu machen.
für i im Bereich (Umdrehungen):
drucken("")
drucken(f" Runde {i+1}: ")
drehen() - Um nachzuverfolgen, wer die einzelnen Runden gewonnen hat, fügen Sie oben in der Datei eine Punktevariable für jeden Spieler hinzu. Sie werden diesen Variablen innerhalb der Funktion turn() Werte zuweisen, stellen Sie also sicher, dass Sie sie als globale Variablen verwenden.
computerScore = 0
PlayerScore = 0defdrehen():
global computerScore, playerScore - Sobald sowohl der Spieler als auch der Computer ihren Zug gemacht haben, fügen Sie innerhalb der Funktion turn() einen Punkt zum Punktestand des Gewinners hinzu. Ändern Sie die if-Anweisung, um den Wert der Variablen „playerScore“ oder „computerScore“ zu erhöhen.
Wenn (bewegt[userChoice]['schlägt'] == Computerwahl):
drucken(F"{userChoice} schlägt {Computerwahl}. Du gewinnst diese Runde!")
SpielerScore += 1Wenn (bewegt[userChoice]['verliertTo'] == Computerwahl):
drucken(F"{userChoice} verliert gegen {Computerwahl}. Der Computer gewinnt!")
computerScore += 1 - Geben Sie am Ende der Funktion turn() eine Aktualisierung der Gesamtpunktzahl für jeden Spieler aus.
# Drucken Sie nach der Runde eine Aktualisierung der Gesamtpunktzahlen aus
drucken("")
drucken(f"SCOREBOARD | Punktestand des Spielers: {playerScore} | Punktzahl des Computers: {computerScore}") - Ganz am Ende des Spiels und nach der for-Schleife, die die Züge des Spielers und des Computers wiederholt, geben Sie den endgültigen Gewinner aus.
drucken("")
if (computerScore > playerScore):
drucken(f"Der Computer gewinnt mit {computerScore} Punkte!")
elf (playerScore > computerScore):
drucken(f"Du gewinnst mit {playerScore} Punkte!")
anders:
drucken(f"Es ist ein Unentschieden! Sie gewinnen beide mit {playerScore} Punkte!")
So führen Sie das Spiel aus
Um das Spiel zu spielen, führen Sie das Python-Skript über ein Terminal oder eine Eingabeaufforderung aus. Geben Sie Ihren Zug ein und warten Sie, bis der Computer seinen Zug macht. Sobald Sie drei Runden abgeschlossen haben, zeigt das Programm den Gewinner an.
- Öffnen Sie eine Eingabeaufforderung oder ein Terminal und navigieren Sie zu dem Ordner, in dem Sie Ihre Python-Datei speichern.
- Verwenden Sie den Python-Befehl, um das Skript auszuführen:
PythonSchere, Stein, Papier.py
- Spielen Sie das Spiel, indem Sie entweder „Stein“, „Papier“ oder „Schere“ eingeben.
Lernen Sie Python, indem Sie Spiele erstellen
Das Erstellen einfacher Spiele wie „Stein, Papier, Schere“ ist eine großartige Möglichkeit, sich mit Programmierkonzepten vertraut zu machen. Es gibt so viele andere unterhaltsame Spiele, die Sie mit Python erstellen können, z. B. ein textbasiertes Abenteuerspiel.