Heim >Backend-Entwicklung >Python-Tutorial >Erstellen eines interaktiven Mad Libs-Spiels in Python: Ein Leitfaden für Anfänger
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?
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.
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.
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.
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.
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}. """
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"]
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]
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
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.
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)
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>
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:
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!
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!