Sie sollten den Inhalt dieses Artikels bereits erraten haben. Und Sie sollten wahrscheinlich mit Zahlenraten vertraut sein und nach einer Möglichkeit suchen, es mit Python zu bauen
Lassen Sie uns lernen, wie man ein Zahlenratespiel von Grund auf erstellt
Zahlen-Ratespiel
Das Spiel ist einfach. Der Benutzer muss die zufällig generierte Zahl erraten, die zwischen 1 und 100 liegt. Das war's schon
Ist das Spiel so einfach?
Ja, das ist es
Aber es gibt eine Sache, die wir den Nutzern zur Verfügung stellen müssen, um die Zahl zu erraten. Das sind Hinweise. Wir müssen dem Benutzer eine Meldung geben, die besagt, dass die aktuell erratene Zahl kleiner als die richtige Zahl ist oder dass die aktuell erratene Zahl größer als die richtige Zahl ist. Damit die Benutzer wissen, in welche Richtung sie gehen müssen
Wir können das Spiel noch spannender machen, indem wir zusätzliche Funktionen hinzufügen, wie z.B. die maximale Anzahl der Chancen zu raten, die Reichweite zu erhöhen, einen Timer einzustellen, usw,
Die Erstellung eines funktionierenden Grundspiels ist obligatorisch. Danach können wir, wie besprochen, weitere Funktionen hinzufügen. In diesem Abschnitt werden wir auch die Grundversion des Spiels erstellen. Und dann werden wir neue Funktionen hinzufügen
Ich möchte, dass Sie versuchen, das Spiel zu erstellen, ohne den Code blindlings zu kopieren. Deshalb werde ich Ihnen zunächst den Algorithmus erklären. Das wird Ihnen helfen, selbst zu programmieren oder den Code schnell zu verstehen
Sehen wir uns den Algorithmus zur Erstellung des Zahlenratespiels an
Algorithmus
Vergewissern Sie sich, dass Sie den Algorithmus verstanden haben, bevor Sie zum Codierungsteil übergehen
- Legen Sie den Bereich der Zahlen fest. Standardmäßig ist dies 1-100, aber Sie können ihn nach Belieben ändern.
- Generieren Sie eine zufällige ganze Zahl aus dem obigen Bereich
(1-100
). - Starten Sie das Spiel, indem Sie dem Benutzer eine Nachricht anzeigen, die lautet : "Erraten Sie die Zahl von X bis Y". Sie können die Meldung nach Belieben aktualisieren.
- Setzen Sie eine Variable auf
0
, um die Gesamtzahl der Versuche zu zählen, die der Benutzer unternommen hat, um die Zahl richtig zu erraten. - Schreiben Sie eine Endlosschleife
- Fordern Sie den Benutzer auf, die Zahl zu erraten.
- Wenn die aktuell erratene Zahl mit der zufällig generierten Zahl übereinstimmt, gratulieren Sie dem Benutzer mit einer Nachricht Ihrer Wahl. Ein Beispiel wäre : "-> Hurra! Sie haben es in 5 Schritten geschafft!".
- Brechen Sie die Schleife ab, nachdem Sie dem Benutzer gratuliert haben.
- Wenn die aktuell erratene Zahl kleiner ist als die zufällig generierte Zahl, dann geben Sie dem Benutzer die Nachricht. "-> Ihre Zahl ist kleiner als die Zufallszahl" oder eine benutzerdefinierte Nachricht mit der gleichen Bedeutung.
- Wenn die aktuell erratene Zahl größer ist als die zufällig generierte Zahl, erhält der Benutzer die Nachricht. "-> Ihre Zahl ist größer als die Zufallszahl" oder eine benutzerdefinierte Nachricht mit der gleichen Bedeutung.
- Erhöhen Sie schließlich die Chancen, die der Benutzer zum Raten genutzt hat.
Nachdem Sie den Algorithmus gesehen haben, haben Sie bestimmt einen Code im Kopf. Machen Sie sich keine Sorgen, auch wenn Sie nicht den vollständigen Code erhalten. Aber stellen Sie sicher, dass Sie den obigen Algorithmus verstanden haben
Jetzt ist es an der Zeit, dass wir mit dem Code arbeiten. Steigen Sie ohne Umschweife in den Code ein
Code
Haben Sie versucht, den Code zu schreiben?
Wenn ja, haben Sie ihn fertiggestellt. Das ist großartig. Sehen Sie sich den Code an und verstehen Sie ihn, um Ihr Wissen um weitere Perspektiven zu erweitern
Machen Sie sich keine Sorgen, auch wenn Sie den Code nicht geschrieben haben. Sehen Sie sich den unten stehenden Code an und verstehen Sie ihn. Versuchen Sie, ihn zum besseren Verständnis zu verändern und auf Ihre eigene Weise zu schreiben.
Schauen wir uns auch den Code an
import random
class NumberGuessingGame:
def __init__(self):
## Definieren Sie den Bereich
self.LOWER = 1
self.HIGHER = 100
## Methode zur Erzeugung der Zufallszahl
def get_random_number(self):
return random.randint(self.LOWER, self.HIGHER)
## Methode zum Starten des Spiels
def start(self):
## Erzeugung der Zufallszahl
random_number = self.get_random_number()
print(
f "Erraten Sie die zufällig generierte Zahl von {self.LOWER} bis {self.HIGHER}")
## Kern des Spiels
chances = 0
while True:
user_number = int(input("Geben Sie die erratene Zahl ein: "))
if user_number == random_number:
print(
f"-> Hurra! Sie haben es in {Chancen 1} Schritt{'s' if chances > 1 else ''} geschafft!")
break
elif user_number < random_number:
print("-> Ihre Zahl ist kleiner als die Zufallszahl")
else:
print("-> Ihre Zahl ist größer als die Zufallszahl")
chances = 1
##
Instanziierung und Start des Spiels
numberGuessingGame = NumberGuessingGame()
numberGuessingGame.start()
Es gibt einige Dinge, die Sie aus dem Code verstehen
- Der Bereich wird innerhalb der
__init__-Methode
so definiert, dass er in allen Methoden der Klasse verwendet werden kann. - Wir können ihn einfach an einer Stelle ändern, die sich in der gesamten App entsprechend ändert.
- Es gibt eine separate Methode zur Generierung der Zufallszahl, die dem Prinzip der "Trennung der Anliegen" folgt. Hier hat unsere Methode nur wenig Code, aber das könnte in Zukunft noch zunehmen.
- Schließlich haben wir eine Klasse verwendet, so dass jede Methode, die mit dem Spiel zu tun hat, in dieser Klasse enthalten ist. Und sie kann leicht in anderen Anwendungen wiederverwendet werden.
Alle oben genannten Punkte beziehen sich auf das Schreiben von sauberem Code. Wir sollten versuchen, einen sauberen Code zu schreiben, den Sie auch nach X Jahre noch verstehen
Die Beispielausgabe des Spiels sieht wie folgt aus
$ python number_guessing_game.py
Raten Sie die zufällig generierte Zahl von 1 bis 100
Geben Sie die erratene Zahl ein: 50
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 75
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 90
-> Ihre Zahl ist größer als die Zufallszahl
Geben Sie die getippte Zahl ein: 85
-> Ihre Zahl ist größer als die Zufallszahl
Geben Sie die getippte Zahl ein: 80
-> Hurra! Sie haben es in 5 Schritten geschafft!
Ich nehme an, Sie haben Python installiert, um den obigen Code auszuprobieren
Zusätzliches Feature
Wir fügen die maximale Anzahl der Chancen hinzu, die ein Benutzer hat, die Zahl zu erraten. Wenn der Benutzer die Zahl nicht innerhalb dieser Anzahl von Chancen errät, hat er verloren
Wie fügen wir das hinzu?
Das ist ein einfacher Prozess in zwei Schritten. Schauen wir uns die Schritte an
- Legen Sie die maximale Anzahl der Chancen fest, die der Benutzer hat, um die Zahl zu erraten.
- Prüfen Sie, ob der Benutzer eine Chance hat oder nicht, bevor Sie ihn zur Eingabe auffordern. Und beenden Sie das Spiel, wenn der Benutzer keine Chancen mehr hat.
Der folgende zusätzliche Code vervollständigt diese Funktion
- Fügen Sie den folgenden Code innerhalb der
__init__-Methode
ein.
self.MAX_CHANCES = 10
- Fügen Sie die folgende Bedingung hinzu, bevor der Benutzer den nächsten Tipp abgibt.
if chances == self.MAX_CHANCES:
print("-> Puh! Sie haben das Spiel verloren. Sie haben keine Chancen mehr")
Versuchen Sie nun das Spiel, ohne die richtige Zahl zu tippen. Sie sollten eine ähnliche Ausgabe wie die folgende sehen
$ python number_guessing_game.py
Raten Sie die zufällig generierte Zahl von 1 bis 100. Sie haben 10 Chancen zu raten.
Geben Sie die erratene Zahl ein: 1
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 2
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 3
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 4
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 5
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die erratene Zahl ein: 6
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die getippte Zahl ein: 7
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die getippte Zahl ein: 8
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die getippte Zahl ein: 9
-> Ihre Zahl ist kleiner als die Zufallszahl
Geben Sie die getippte Zahl ein: 10
-> Ihre Zahl ist kleiner als die Zufallszahl
-> Puh! Sie haben das Spiel verloren. Sie haben keine Chancenmehr
Hurra! Wir haben unserem Spiel eine zusätzliche Funktion hinzugefügt. Das ist aber noch nicht das Ende. Sie können noch weitere Funktionen hinzufügen, um das Spiel für die Benutzer noch interessanter zu machen. Jetzt ist Ihre Zeit gekommen. Legen Sie los und machen Sie es noch schöner 🙂 .
Fazit
Wir haben ein einfaches Zahlen-Ratespiel erstellt. Jetzt sind Sie an der Reihe: Denken Sie an Spiele, die Sie in Ihrer Jugend gespielt haben. Erstellen Sie sie in einer Programmiersprache und teilen Sie sie mit Ihren Freunden. Wir können die meisten Spiele aus unserer Kindheit digitalisieren
Als nächstes erkunden Sie die Python-IDE und den Online-Compiler, um Python-Code auszuführen
Viel Spaß beim Programmieren 🙂
Wenn Sie von viralen Wortspielen nicht genug bekommen können, erfahren Sie hier , wie Sie bei Wordle besser werden können.