Wie erstelle ich ein Zahlenratespiel in Python?

Sie sollten den Inhalt dieses Artikels bereits erraten haben. Und Sie sollten wahrscheinlich mit dem Erraten von Zahlen vertraut sein und nach einer Möglichkeit suchen, sie mit Python zu erstellen.

Lassen Sie uns lernen, ein Zahlenratespiel von Grund auf neu zu erstellen.

Ratespiel mit Zahlen

Das Spiel ist einfach. Der Benutzer muss die zufällig generierte Zahl erraten, die zwischen 1 und 100 liegt. Das war’s.

Ist das Spiel so einfach?

Ja, ist es.

Aber es gibt eine Sache, die wir den Benutzern zur Verfügung stellen müssen, um die Nummer zu erraten. Das sind Hinweise. Wir müssen dem Benutzer eine Nachricht bereitstellen, 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 Nutzer wissen, in welche Richtung sie gehen müssen.

Wir können es spannender machen, indem wir zusätzliche Funktionen hinzufügen, wie z.

Das Erstellen des grundlegenden Arbeitsspiels ist obligatorisch. Danach können wir wie besprochen weitere Funktionen hinzufügen. Wir werden also in diesem Abschnitt die Basisversion des Spiels erstellen. Und dann werden wir uns bewegen, um neue Funktionen hinzuzufügen.

Ich möchte, dass Sie versuchen, das Spiel zu erstellen, ohne den Code blind zu kopieren. Also werde ich zuerst den Algorithmus erklären. Es wird Ihnen helfen, selbst zu codieren oder den Code schnell zu verstehen.

Sehen wir uns den Algorithmus zum Erstellen des Zahlenratespiels an.

Algorithmus

Stellen Sie sicher, dass Sie den Algorithmus verstehen, bevor Sie zum Codierungsteil übergehen.

  • Definieren Sie den Bereich der Nummern. Standardmäßig ist es 1-100, aber Sie können es nach Belieben ändern.
  • Generieren Sie eine zufällige Ganzzahl aus dem obigen Bereich (1-100).
  • Starten Sie das Spiel, indem Sie dem Benutzer eine Nachricht anzeigen, die besagt: „Erraten Sie die Zahl von X bis Y“. Sie können die Nachricht nach Belieben aktualisieren.
  • Initialisieren Sie eine Variable auf 0, um die Gesamtzahl der Chancen zu zählen, die der Benutzer genutzt hat, um die Zahl richtig zu erraten.
  • Schreiben Sie eine Endlosschleife.
    • Bitten Sie den Benutzer, die Zahl zu erraten.
    • Wenn die aktuell erratene Zahl gleich der zufällig generierten Zahl ist, dann gratulieren Sie dem Benutzer mit einer Nachricht, wie Sie möchten. Ein Beispiel wäre „-> Hurra! Du hast es in 5 Schritten geschafft!“.
    • Unterbrechen Sie die Schleife, nachdem Sie dem Benutzer gratuliert haben.
    • Wenn die aktuell erratene Zahl kleiner als die zufällig generierte Zahl ist, geben Sie dem Benutzer eine Nachricht mit der Aufschrift „-> Ihre Zahl ist kleiner als die Zufallszahl“ oder eine benutzerdefinierte Nachricht mit derselben Bedeutung.
    • Wenn die aktuell erratene Zahl größer als die zufällig generierte Zahl ist, geben Sie dem Benutzer eine Nachricht mit der Aufschrift „-> Ihre Zahl ist größer als die Zufallszahl“ oder eine benutzerdefinierte mit der gleichen Bedeutung.
    • Erhöhen Sie schließlich die Chancen, die der Benutzer zum Raten verwendet hat.
  10 Beispiele für wget-Befehle, die Ihnen bei der Fehlersuche helfen – wget Test

Sie hätten Code in Ihrem Kopf, nachdem Sie den Algorithmus gesehen haben. Machen Sie sich keine Sorgen, auch wenn Sie nicht den vollständigen Code erhalten. Stellen Sie jedoch sicher, dass Sie den obigen Algorithmus verstehen.

Es ist Zeit, unsere Hände dazu zu bringen, mit Code zu arbeiten. Steigen Sie ohne weiteres in den Code ein.

Code

Hast du versucht den Code zu schreiben?

Wenn ja und abgeschlossen. Es ist großartig. Sehen Sie sich den Code an und verstehen Sie ihn, um Ihrem Wissen weitere Perspektiven hinzuzufügen.

Machen Sie sich keine Sorgen, auch wenn Sie den Code nicht geschrieben haben. Sehen Sie sich den folgenden Code an und verstehen Sie ihn. Versuchen Sie, es zum besseren Verständnis zu optimieren und auf Ihre eigene Weise zu schreiben.

Sehen wir uns also den Code an.

import random


class NumberGuessingGame:

    def __init__(self):
        ## define the range
        self.LOWER = 1
        self.HIGHER = 100

    ## method to generate the random number
    def get_random_number(self):
        return random.randint(self.LOWER, self.HIGHER)

    ## game start method
    def start(self):
        ## generating the random number
        random_number = self.get_random_number()

        print(
            f"Guess the randomly generated number from {self.LOWER} to {self.HIGHER}")

        ## heart of the game
        chances = 0
        while True:
            user_number = int(input("Enter the guessed number: "))
            if user_number == random_number:
                print(
                    f"-> Hurray! You got it in {chances + 1} step{'s' if chances > 1 else ''}!")
                break
            elif user_number < random_number:
                print("-> Your number is less than the random number")
            else:
                print("-> Your number is greater than the random number")
            chances += 1

## instantiating and starting the game
numberGuessingGame = NumberGuessingGame()
numberGuessingGame.start()

Es gibt einige Dinge, die Sie aus dem Code verstehen.

  • Der Bereich wird innerhalb der __init__-Methode definiert, sodass er über die Klassenmethoden hinweg verwendet werden kann.
  • Wir können es einfach an einer Stelle ändern, die sich in der App entsprechend ändert.
  • Für die Generierung der Zufallszahl gibt es ein separates Verfahren, das dem Prinzip „Trenne die Bedenken“ folgt. Hier hat unsere Methode wenig Code, aber es könnte in Zukunft zunehmen.
  • Schließlich haben wir die Klasse verwendet, damit jede Methode, die sich auf das Spiel bezieht, darin enthalten ist. Und es kann problemlos in einigen anderen Apps wiederverwendet werden.
  So erstellen Sie ein PowerPoint-Organigramm mit Excel-Daten

Alle oben diskutierten Punkte beziehen sich auf das Schreiben von sauberem Code. Wir sollten versuchen, den sauberen Code zu schreiben, den Sie auch nach einigen X Jahren verstehen.

Die Beispielausgabe des Spiels sieht wie folgt aus.

$ python number_guessing_game.py 
Guess the randomly generated number from 1 to 100
Enter the guessed number: 50
-> Your number is less than the random number
Enter the guessed number: 75
-> Your number is less than the random number
Enter the guessed number: 90
-> Your number is greater than the random number
Enter the guessed number: 85
-> Your number is greater than the random number
Enter the guessed number: 80
-> Hurray! You got it in 5 steps!

Ich nehme an, Sie haben Python installiert, um den obigen Code auszuprobieren.

Zusatzfunktion

Wir werden die maximale Anzahl von Chancen hinzufügen, die ein Benutzer erhält, um die Zahl zu erraten. Wenn der Benutzer die Zahl innerhalb der Anzahl der Chancen nicht errät, verliert der Benutzer.

Wie fügen wir es hinzu?

Es ist ein einfacher zweistufiger Prozess. Sehen wir uns die Schritte an.

  • Definieren Sie die maximale Anzahl an Chancen, die der Benutzer hat, um die Zahl zu erraten.
  • Überprüfen Sie, ob der Benutzer Chancen hat oder nicht, bevor Sie um die Eingabe bitten. Und beenden Sie das Spiel, wenn der Benutzer keine gegebenen Chancen mehr hat.

Der folgende zusätzliche Code vervollständigt die Funktion.

  • Fügen Sie den folgenden Code in die Methode __init__ ein.
self.MAX_CHANCES = 10
  • Fügen Sie die folgende Bedingung hinzu, bevor der Benutzer die nächste Vermutung eingibt.
if chances == self.MAX_CHANCES:
                print("-> Phew! You lost the game. You are out of chances")

Probieren Sie jetzt das Spiel aus, ohne die richtige Zahl zu erraten. Sie sollten eine ähnliche Ausgabe wie die folgende sehen.

$ python number_guessing_game.py 
Guess the randomly generated number from 1 to 100. You have 10 chances to guess.
Enter the guessed number: 1
-> Your number is less than the random number
Enter the guessed number: 2
-> Your number is less than the random number
Enter the guessed number: 3
-> Your number is less than the random number
Enter the guessed number: 4
-> Your number is less than the random number
Enter the guessed number: 5
-> Your number is less than the random number
Enter the guessed number: 6
-> Your number is less than the random number
Enter the guessed number: 7
-> Your number is less than the random number
Enter the guessed number: 8
-> Your number is less than the random number
Enter the guessed number: 9
-> Your number is less than the random number
Enter the guessed number: 10
-> Your number is less than the random number
-> Phew! You lost the game. You are out of chances

Hurra! Wir haben unserem Spiel ein zusätzliches Feature hinzugefügt. Es ist jedoch nicht das Ende. Sie können einige weitere Funktionen hinzufügen, um es für die Benutzer interessanter zu machen. Es ist jetzt deine Zeit. Gehen Sie voran und machen Sie es schöner :).

  8 der besten CMMS-Software im Jahr 2022

Fazit

Wir haben ein einfaches Zahlenratespiel entwickelt. Jetzt sind Sie an der Reihe, an Spiele zu denken, die Sie gespielt haben, als Sie jung waren. Erstellen Sie sie mithilfe der Programmiersprache und teilen Sie sie mit Ihren Freunden. Wir können die meisten Spiele unserer Kindheit digitalisieren.

Erkunden Sie als Nächstes 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 es bei Wordle besser machen können.

Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?