Heim >Backend-Entwicklung >Python-Tutorial >Erstellen eines interaktiven Mad Libs-Spiels in Python: Ein Leitfaden für Anfänger

Erstellen eines interaktiven Mad Libs-Spiels in Python: Ein Leitfaden für Anfänger

Barbara Streisand
Barbara StreisandOriginal
2024-10-06 18:15:03579Durchsuche

Haben Sie sich schon einmal dabei ertappt, wie Sie unkontrolliert kicherten, während Sie zufällige Wörter einfügten, um eine urkomisch absurde Geschichte zu erfinden? Wenn ja, haben Sie wahrscheinlich den Spaß an Mad Libs erlebt, einem klassischen Wortspiel, das seit den 1950er Jahren Menschen jeden Alters unterhält.

Aber was wäre, wenn ich Ihnen sagen würde, dass dieses einfache Spiel auch Ihr Einstieg in die aufregende Welt der Python-Programmierung sein könnte?

Was sind Mad Libs?

Building an Interactive Mad Libs Game in Python: A Beginner

Mad Libs ist im Kern ein Spiel zum Erzählen von Lücken. Die Spieler werden aufgefordert, Wörter bestimmter Art (Substantive, Verben, Adjektive usw.) anzugeben, ohne den Kontext der Geschichte zu kennen.

Building an Interactive Mad Libs Game in Python: A Beginner

Erfahren Sie hier mehr über Schleifen: Python-Loops: Ein umfassender Leitfaden für Anfänger

Diese Wörter werden dann in eine vorgefertigte Erzählung eingefügt, was oft zu einer komödiantischen und unsinnigen Geschichte führt, die zum Lachen und zur Kreativität anregt.

Aber Mad Libs ist mehr als nur eine Quelle der Unterhaltung. Wenn es in ein Programmierprojekt übersetzt wird, wird es zu einem leistungsstarken Lehrmittel, das angehenden Programmierern eine unterhaltsame und ansprechende Möglichkeit bietet, grundlegende Programmierkonzepte zu erlernen.

Einrichten Ihrer Python-Umgebung

Stellen Sie zunächst sicher, dass Python auf Ihrem Computer installiert ist. Sie können es von der offiziellen Python-Website herunterladen. Für dieses Projekt verwenden wir Python 3.12.7.

Sobald Python installiert ist, öffnen Sie Ihren bevorzugten Texteditor oder Ihre integrierte Entwicklungsumgebung (IDE). Beliebte Optionen für Anfänger sind IDLE (im Lieferumfang von Python enthalten), Visual Studio Code oder PyCharm.

Für dieses Projekt werde ich Pycharm verwenden.

Aufbau des Mad Libs-Spiels: Schritt für Schritt

Lassen Sie uns unser Mad Libs-Spiel in überschaubare Schritte unterteilen. Wir beginnen mit einer Basisversion und fügen nach und nach weitere Funktionen hinzu, um es interaktiver und ansprechender zu machen.

Den vollständigen Code finden Sie hier.

Um dieses Spiel auszuführen, müssen Sie einige Abhängigkeiten installieren, darunter die Colorama-Bibliothek. Sie können dies tun, indem Sie Folgendes ausführen:

pip install colorama

Importieren Sie einige der Bibliotheken, die wir für diese Projekte benötigen würden, darunter Ramdom und OS Colorama.


    import random
    import os
    from colorama import init, Fore, Style


Als nächstes würden wir init() verwenden, was uns die Verwendung farbiger Ausgaben zur Verbesserung der Benutzeroberfläche ermöglicht, z. B. die Anzeige von Willkommensnachrichten in Cyan, Fehlern in Rot und der fertigen Story in Weiß mit einem hellen Stil.

  • Erstellen der Story-Vorlage

Zuerst definieren wir unsere Story-Vorlage. Dies ist eine Zeichenfolge mit Platzhaltern für die Wörter, die der Spieler eingeben soll. Hier ist ein Beispiel:


    story_template = """
    Once upon a time, in a {adjective} {noun}, there lived a {adjective} {noun}.
    Every day, they would {verb} to the {noun} and {verb} with their {adjective} {noun}.
    One day, something {adjective} happened! They found a {adjective} {noun} that could {verb}!
    From that day on, their life became even more {adjective} and full of {noun}.
    """


  • Worttypen sammeln

Als nächstes erstellen wir eine Liste der Worttypen, die wir für unsere Geschichte benötigen:


    word_types = ["adjective", "noun", "adjective", "noun", "verb", "noun", "verb", "adjective", "noun", "adjective", "adjective", "noun", "verb", "adjective", "noun"]


  • Den Spieler zur Worteingabe auffordern

Jetzt erstellen wir eine Funktion, um den Spieler zur Eingabe von Wörtern aufzufordern:


    def get_word(word_type):
        return input(f"Enter a(n) {word_type}: ")

    def collect_words(word_types):
        return [get_word(word_type) for word_type in word_types]


  • Ausfüllen der Geschichte

Mit den gesammelten Wörtern können wir unsere Story-Vorlage ausfüllen:


    def fill_story(template, words):
        for word in words:
            template = template.replace("{" + word_types[words.index(word)] + "}", word, 1)
        return template


  • Alles zusammenfügen

Lassen Sie uns eine Hauptfunktion erstellen, um unser Spiel auszuführen:


    def play_mad_libs():
        print("Welcome to Mad Libs!")
        print("I'll ask you for some words to fill in the blanks of our story.")

        words = collect_words(word_types)
        completed_story = fill_story(story_template, words)

        print("\nHere's your Mad Libs story:\n")
        print(completed_story)

    if __name__ == "__main__":
        play_mad_libs()


Jetzt haben wir eine grundlegende Arbeitsversion unseres Mad Libs-Spiels! Aber lasst uns hier nicht aufhören. Wir können es noch ansprechender und benutzerfreundlicher machen.

Das Spiel verbessern

Mehrere Story-Vorlagen hinzufügen
Um das Spiel interessant zu halten, fügen wir mehrere Story-Vorlagen hinzu:


    import random

    story_templates = [
        # ... (add your original story template here)
        """
        In a {adjective} galaxy far, far away, a {adjective} {noun} embarked on a {adjective} quest.
        Armed with a {adjective} {noun}, they set out to {verb} the evil {noun} and save the {noun}.
        Along the way, they encountered a {adjective} {noun} who taught them to {verb} with great skill.
        In the end, they emerged {adjective} and ready to face any {noun} that came their way.
        """,
        # ... (add more story templates as desired)
    ]

    def choose_random_template():
        return random.choice(story_templates)


Implementieren einer Play Again-Funktion
Fügen wir den Spielern die Option hinzu, mehrere Runden zu spielen:


    def play_again():
        return input("Would you like to play again? (yes/no): ").lower().startswith('y')

    def mad_libs_game():
        while True:
            template = choose_random_template()
            word_types = extract_word_types(template)
            play_mad_libs(template, word_types)
            if not play_again():
                print("Thanks for playing Mad Libs!")
                break

    def extract_word_types(template):
        return [word.split('}')[0] for word in template.split('{')[1:]]


Fehlerbehandlung hinzufügen
Um unser Spiel robuster zu machen, fügen wir etwas Fehlerbehandlung hinzu:


    def get_word(word_type):
        while True:
            word = input(f"Enter a(n) {word_type}: ").strip()
            if word:
                return word
            print("Oops! You didn't enter anything. Please try again.")


Verbesserung der Benutzererfahrung
Fügen wir etwas Farbe und Formatierung hinzu, um unser Spiel optisch ansprechender zu machen:


    from colorama import init, Fore, Style

    init()  # Initialize colorama

    def print_colored(text, color=Fore.WHITE, style=Style.NORMAL):
        print(f"{style}{color}{text}{Style.RESET_ALL}")

    def play_mad_libs(template, word_types):
        print_colored("Welcome to Mad Libs!", Fore.CYAN, Style.BRIGHT)
        print_colored("I'll ask you for some words to fill in the blanks of our story.", Fore.YELLOW)

        words = collect_words(word_types)
        completed_story = fill_story(template, words)

        print_colored("\nHere's your Mad Libs story:\n", Fore.GREEN, Style.BRIGHT)
        print_colored(completed_story, Fore.WHITE, Style.BRIGHT)

**Saving Stories**
Let's give players the option to save their stories:


    import os

    def save_story(story):
        if not os.path.exists("mad_libs_stories"):
            os.makedirs("mad_libs_stories")

        filename = f"mad_libs_stories/story_{len(os.listdir('mad_libs_stories')) + 1}.txt"
        with open(filename, "w") as file:
            file.write(story)

        print_colored(f"Your story has been saved as {filename}", Fore.GREEN)

    def play_mad_libs(template, word_types):
        # ... (previous code)

        if input("Would you like to save this story? (yes/no): ").lower().startswith('y'):
            save_story(completed_story)



Führen Sie den Code aus

Stellen Sie zunächst sicher, dass Python auf Ihrem System installiert ist. Sie können dies überprüfen, indem Sie ein Terminal öffnen und Folgendes eingeben:

python --version

oder

python3 --version

Dies sollte die auf Ihrem System installierte Version von Python zurückgeben.
Wenn Python installiert ist, sollten Sie das Skript mit dem Python-Interpreter ausführen. Anstatt zu rennen.

./first_test.py

Sie sollten Folgendes ausführen:

python first_test.py

oder wenn Sie speziell Python 3 verwenden:

python3 first_test.py

Stellen Sie außerdem sicher, dass die Datei über die richtigen Berechtigungen zur Ausführung verfügt. Dies können Sie einstellen mit:

chmod +x first_test.py<br>




Fazit

Herzlichen Glückwunsch! Sie haben jetzt ein interaktives, farbenfrohes und funktionsreiches Mad Libs-Spiel in Python erstellt. Dieses Projekt hat Ihnen mehrere wichtige Programmierkonzepte vorgestellt:

  1. Manipulasi rentetan
  2. Input dan output pengguna
  3. Fungsi dan pengaturcaraan modular
  4. Senarai dan senaraikan pemahaman
  5. Operasi I/O Fail
  6. Ralat pengendalian
  7. Perpustakaan pihak ketiga (colorama)
  8. Pilihan rawak
  9. While loops and control flow

Dengan membina permainan ini, anda bukan sahaja mencipta sesuatu yang menyeronokkan tetapi juga meletakkan asas yang kukuh untuk projek Python yang lebih maju. Ingat, kunci untuk menjadi seorang pengaturcara yang mahir adalah latihan dan percubaan. Jangan takut untuk mengubah suai permainan ini, menambah ciri baharu atau menggunakan konsep ini untuk mencipta projek baharu sepenuhnya!

Sambil anda meneruskan perjalanan Python anda, pertimbangkan untuk meneroka topik yang lebih lanjutan seperti pengaturcaraan berorientasikan objek, antara muka pengguna grafik (GUI) atau pembangunan web dengan rangka kerja seperti Django atau Flask.

Kemahiran yang anda pelajari di sini akan menjadi batu loncatan yang sangat baik untuk bidang pembangunan perisian yang lebih kompleks ini.

Selamat pengekodan, dan semoga pengembaraan Mad Libs anda dipenuhi dengan ketawa dan pembelajaran!

Sumber

  • Bermula dengan Folium
  • 20 Sambungan Python Penting untuk Kod Visual Studio
  • Menggunakan Python untuk Pengikisan Web dan Pengekstrakan Data
  • Bermula dengan Python
  • Mencipta Peta Interaktif dengan Folium dan Python

Das obige ist der detaillierte Inhalt vonErstellen eines interaktiven Mad Libs-Spiels in Python: Ein Leitfaden für Anfänger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn