Erfahren Sie, wie Sie mit Python ein einfaches Spiel erstellen!

Dies ist ein Beitrag von Tutorial-Teammitglied Julian Meyer, einem 13-jährigen Python-Entwickler. Sie können ihn auf Google+ und Twitter finden.

Haben Sie sich jemals gefragt, wie Videospiele erstellt werden? Es ist nicht so kompliziert, wie Sie vielleicht denken!

In diesem Tutorial erstellen Sie ein einfaches Spiel namens Bunnies and Badgers, in dem der Held, der Hase, eine Burg gegen eine angreifende Horde von Dachsen verteidigen muss., :O

Um dieses Spiel zu schreiben, verwenden Sie Python. Nein, ich rede nicht von einer großen Schlange! :]

Python ist eine Computerprogrammiersprache. Wir haben uns für Python für dieses Tutorial entschieden, weil es eine einfache Sprache ist und Spaß macht und leicht zu erlernen ist.

Wenn Sie neu in Python sind, bevor Sie beginnen, schauen Sie sich dieses Buch an: Denken Sie an Python: Wie man wie ein Informatiker denkt. Das sollte dich auf den neuesten Stand bringen.

Dann tauche zurück und mach dich bereit – es kommt ein Krieg zwischen den Hasen und den Dachsen. Lesen Sie weiter, um in den Kampf zu springen!,

Erste Schritte: Installation von Python

Wenn Sie dieses Tutorial auf einem Windows-PC ausprobieren möchten, müssen Sie Python installieren. Stellen Sie sicher, dass Sie die 2.7.3-Version und NICHT die 3.3.0-Version greifen! Nach dem Ausführen des Installationsprogramms sollten Sie IDLE in Ihrem Ordner Alle Programme in Ihrem Startmenü haben. Starten Sie IDLE, um loszulegen.

Wenn Sie auf einem Mac sind, haben Sie bereits Python installiert! Öffnen Sie einfach Terminal (/Applications/Utilities / Terminal.app), geben Sie Python ein und drücken Sie die Eingabetaste.

Hinweis: Wenn Sie Python von Python installieren.,org (und muss möglicherweise, wenn Sie PyGame zum Laufen bringen möchten), dann haben Sie auch Zugriff auf IDLE auf dem Mac. Es sollte sich im Ordner „/Applications/Python 2.7“ befinden.

Wenn Sie es richtig gemacht haben, sollten Sie Folgendes sehen:

Hinweis: Wenn Sie die Python-Eingabeaufforderung beenden möchten (die Dreifachwinkelklammern, >>>), können Sie entweder exit() an der Python-Eingabeaufforderung eingeben und Return drücken oder Control+D.,

Wenn Sie an der Python-Eingabeaufforderung sind, um zu testen, ob Python korrekt funktioniert, geben Sie print 1+1 ein und drücken Sie Enter/Return. Es sollte 2 drucken. Sie haben gerade Ihr erstes Python-Programm geschrieben!

Nachdem Sie nun wissen, dass Python korrekt funktioniert, müssen Sie PyGame installieren, um ein Spiel mit Python zu schreiben.

PyGame ist eine Python-Bibliothek, die das Schreiben von Spielen viel einfacher macht! Es bietet Funktionen wie Bildbehandlung und Tonwiedergabe, die Sie leicht in Ihr Spiel integrieren können.,

Gehen Sie hier und laden Sie das PyGame-Installationsprogramm herunter, das für Ihr System geeignet ist. Stellen Sie sicher, dass Sie eine Python 2.7-Version herunterladen.

Hinweis: Das PyGame-Installationsprogramm über den obigen Link funktioniert nicht mit dem Standard-Python von Apple, das auf einem Mac installiert ist. Sie müssen Python herunterladen von python.org und installieren Sie es, um PyGame zu verwenden. Oder Sie können sowohl Python als auch PyGame über MacPorts installieren.

Um sicherzustellen, dass PyGame ordnungsgemäß installiert ist, öffnen Sie IDLE oder führen Sie Python über das Terminal aus und geben Sie import pygame an der Python-Eingabeaufforderung ein., Wenn dies zu keiner Ausgabe führt, sind Sie gut.

Wenn andererseits ein Fehler wie unten gezeigt ausgegeben wird, ist PyGame nicht installiert.

Wenn Sie einen solchen Fehler erhalten, posten Sie in den Foren und ich werde Ihnen helfen, es zum Laufen zu bringen.

Ausführen von Python-Code aus der Datei

Während Sie kurze Python-Code-Bits an der Python-Eingabeaufforderung ausführen können, möchten Sie Ihren Code wahrscheinlich in einer Datei speichern, damit Sie ihn nicht immer wieder eingeben müssen.

Es gibt mehrere Möglichkeiten, ein Python-Programm als Datei auszuführen., Eine Möglichkeit besteht darin, einen einfachen Texteditor wie Notepad (Windows) oder TextEdit (Mac) zu verwenden. Öffnen Sie eine neue Textdatei und geben Sie Ihren Python-Code ein (z. B. print 1+1). Dann speichern Sie es als XXX.py (Der XXX kann ein beliebiger beschreibender Dateiname sein).

Doppelklicken Sie dann unter Windows auf diese Datei, um sie auszuführen. Öffnen Sie auf dem Mac Terminal und geben Sie Python ein, ziehen Sie die gespeicherte Datei in das Terminalfenster und drücken Sie die Eingabetaste.

Die andere Möglichkeit besteht darin, Ihren Code mit dem IDLE-Editor einzugeben, was Sie in diesem Tutorial tun werden. Um idle auszuführen, geben Sie einfach idle vom Terminal aus ein., Wählen Sie dann Datei\Neues Fenster aus dem Leerlaufmenü und Sie sollten ein Texteditorfenster haben, in dem Sie Python-Code eingeben können. Sie können Ihre Codeänderungen über File\Save speichern und den Code sogar über Run\Run Module (F5) ausführen.

Beachten Sie, dass das Menü Ausführen nur verfügbar ist, wenn Sie eine Datei in einem Editorfenster geöffnet haben.

Hinzufügen der Spielressourcen

Sie sind fast bereit, Ihr Spiel zu erstellen. Aber was ist ein Spiel ohne tolle Grafik und Soundeffekte? Ich habe alle Grafiken und Soundeffekte, die Sie für Ihr Spiel benötigen, in einem ZIP-Archiv zusammengestellt. Sie können es hier herunterladen.,

Sobald Sie die Datei heruntergeladen haben, erstellen Sie einen Ordner für Ihr Spiel auf Ihrer Festplatte und extrahieren Sie den Ressourcenordner in diesen Ordner, sodass Ihr Spielordner einen Unterordner mit dem Namen resources hat Ressourcen, mit den verschiedenen Ressourcen in zusätzlichen Ordnern gruppiert, wie folgt:

Sie sind jetzt bereit, Hasen und Dachse zu erstellen. :]

Schritt 1: Hello Bunny

Im LEERLAUF ausführen und ein neues Texteditorfenster öffnen, wie im vorherigen Abschnitt erwähnt., Geben Sie den folgenden Code in das Editorfenster ein:

Speichern Sie die Datei in Ihrem Spielordner (in dem sich der Unterordner resources befindet) und benennen Sie sie game.py.

Lassen Sie uns den Code Abschnitt für Abschnitt durchgehen:

  1. Importieren Sie die PyGame-Bibliothek. Auf diese Weise können Sie Funktionen aus der Bibliothek in Ihrem Programm verwenden.
  2. Initialisieren Sie PyGame und richten Sie das Anzeigefenster ein.
  3. Laden Sie das Bild, das Sie für den Hasen verwenden.
  4. Schleife weiter über den folgenden eingerückten Code.,

    Hinweis: Wo andere Sprachen wie Objective-C, Java oder PHP geschweifte Klammern verwenden, um einen Codeblock anzuzeigen, der innerhalb einer while-Schleife oder einer if-Anweisung ausgeführt werden soll, verwendet Python Einrücken, um Codeblöcke zu identifizieren. Die richtige Einrückung ist also in Python sehr wichtig – denken Sie daran. :]

  5. Füllen Sie den Bildschirm mit schwarz, bevor Sie alles zeichnen.
  6. Fügen Sie das geladene Hasenbild bei x=100 und y=100 zum Bildschirm hinzu.
  7. Aktualisieren Sie den Bildschirm.
  8. Überprüfen Sie für neue Ereignisse und wenn es eine, und es ist ein Befehl beenden, beenden Sie das Programm.,

    Hinweis: Gemäß der PyGame-Dokumentation sollten Sie pygame nicht aufrufen müssen.quit () da der Interpreter es automatisch aufruft, wenn der Interpreter herunterfährt. Zumindest unter Mac OS würde das Spiel jedoch beim Beenden hängen, es sei denn, pygame.quit() aufgerufen wurde.

Wenn Sie den Code jetzt ausführen (über das Modul Run\Run im Leerlaufmenü), sollte ein Bildschirm ähnlich dem folgenden angezeigt werden:

w00t Der Hase ist in der Szene und bereit zum Handeln!

Aber das Spiel sieht beängstigend und einsam mit dem Hasen nur dort auf einem schwarzen Hintergrund stehen., Zeit, die Dinge ein wenig zu verschönern. :]

Schritt 2: Landschaft hinzufügen

Beginnen wir mit dem Hinzufügen eines Hintergrunds zur Spielszene. Dies kann mit ein paar mehr Bildschirm erfolgen.blit () ruft an.

Fügen Sie am Ende von Abschnitt 3 nach dem Laden des Player-Images den folgenden Code hinzu:

grass = pygame.image.load("resources/images/grass.png")castle = pygame.image.load("resources/images/castle.png")

Dadurch werden die Bilder geladen und in bestimmte Variablen eingefügt. Jetzt müssen sie auf dem Bildschirm gezeichnet werden. Wenn Sie jedoch das Grasbild überprüfen, werden Sie feststellen, dass es nicht den gesamten Bildschirmbereich abdeckt, nämlich 640 x 480., Dies bedeutet, dass Sie das Gras über den Bildschirmbereich kacheln müssen, um es vollständig abzudecken.

Fügen Sie den folgenden Code zu game.py zu Beginn von Abschnitt 6 (bevor der Player auf dem Bildschirm gezeichnet wird):

Wie Sie sehen, durchläuft die for Anweisung zuerst x. Dann durchläuft es innerhalb dieser for-Schleife y und zeichnet das Gras auf die x – und y-Werte, die von den for-Schleifen generiert werden. Die nächsten paar Zeilen zeichnen einfach die Schlösser auf dem Bildschirm.

Wenn Sie das Programm jetzt ausführen, sollten Sie Folgendes erhalten:

Viel besser-das sieht gut aus!, :]

Schritt 3: Bewegen Sie den Hasen

Als nächstes müssen Sie einige tatsächliche Gameplay-Elemente hinzufügen, z. B. den Hasen dazu bringen, auf Tastendrücke zu reagieren.

Dazu implementieren Sie zunächst eine gute Methode, um zu verfolgen, welche Tasten zu einem bestimmten Zeitpunkt gedrückt werden. Sie können dies einfach tun, indem Sie ein Array von Schlüsselzuständen erstellen, die den Status jedes Schlüssels enthalten, den Sie für das Spiel verwenden möchten.

Fügen Sie den folgenden Code zu game.py am Ende von Abschnitt 2 (nachdem Sie die Bildschirmhöhe und-breite festgelegt haben):

keys = playerpos=

Dieser Code ist ziemlich selbsterklärend., Das Tastenarray verfolgt die gedrückten Tasten in der folgenden Reihenfolge: WASD. Jedes Element im Array entspricht einem Schlüssel – dem ersten bis W, dem zweiten bis A und so weiter.

In der Variablen playerpos zeichnet das Programm den Player. Da das Spiel den Spieler an verschiedene Positionen bewegt, ist es einfacher, eine Variable zu haben, die die Spielerposition enthält, und dann einfach den Spieler an dieser Position zu zeichnen.

Jetzt müssen Sie den vorhandenen Code zum Zeichnen des Players ändern, um die neue playerpos Variable zu verwenden., Ändern Sie die folgende Zeile in Abschnitt 6:

 screen.blit(player, (100,100))

In:

 screen.blit(player, playerpos)

Aktualisieren Sie als nächstes das Tastenarray basierend darauf, welche Tasten gedrückt werden. PyGame erleichtert das Erkennen von Tastendrücken durch Hinzufügen eines Ereignisses.Schlüsselfunktion.

Am Ende von Abschnitt 8, direkt nach der Blockprüfung auf Ereignis.type==pygame.BEENDEN Sie, setzen Sie diesen Code (auf der gleichen Einrückungsebene wie das Pygame.QUIT-if-block):

Wow! Das sind viele Codezeilen. Wenn Sie es jedoch in die if-Anweisungen aufteilen, ist es nicht so kompliziert.,

Zuerst prüfen Sie, ob eine Taste gedrückt oder losgelassen wird. Dann überprüfen Sie, welche Taste gedrückt oder losgelassen wird, und wenn die Taste gedrückt oder losgelassen wird, ist eine der Tasten, die Sie verwenden, aktualisieren Sie die Tastenvariable entsprechend.

Schließlich müssen Sie die playerpos Variable als Reaktion auf die Tastendrücke aktualisieren. Das ist eigentlich sehr einfach.

Fügen Sie am Ende des Spiels den folgenden Code hinzu.,py (mit einer Einrückungsebene auf derselben Ebene wie die for-Schleife):

 # 9 - Move player if keys: playerpos-=5 elif keys: playerpos+=5 if keys: playerpos-=5 elif keys: playerpos+=5

Dieser Code überprüft einfach, welche der Tasten gedrückt werden, und addiert oder subtrahiert von der x-oder y-Position des Players (abhängig von der gedrückten Taste), um den Player zu bewegen.

Führe das Spiel aus und du solltest einen Spieler wie zuvor bekommen. Versuchen Sie, WASD zu drücken. Yay! Es funktioniert.,

Schritt 4: Drehen des Hasen

Ja, Ihr Hase bewegt sich jetzt, wenn Sie die Tasten drücken, aber wäre es nicht noch cooler, wenn Sie den Hasen mit der Maus in eine Richtung Ihrer Wahl drehen könnten, damit er nicht die ganze Zeit auf dieselbe Weise zeigt? Es ist einfach genug, mit Trigonometrie zu implementieren.,

Schauen Sie sich die folgende Abbildung an:

Wenn im obigen Bild (5,3) die Position des Hasen und (2,4) die aktuelle Position der Maus ist, können Sie den Drehwinkel (z) ermitteln, indem Sie die trigonometrische Funktion atan2 auf die Differenz der Abstände zwischen den beiden Punkten anwenden. Sobald Sie den Drehwinkel kennen, können Sie den Hasen natürlich einfach entsprechend drehen. :]

Wenn Sie über diesen Teil etwas verwirrt sind, machen Sie sich keine Sorgen – Sie können trotzdem weitermachen. Aber deshalb sollten Sie im Mathematikunterricht aufpassen!, :] Du wirst dieses Zeug die ganze Zeit in der Spieleprogrammierung verwenden.

Jetzt müssen Sie dieses Konzept auf Ihr Spiel anwenden. Dazu können Sie die PyGame-Oberfläche verwenden.drehen (grad) funktion. Beachten Sie übrigens, dass der Z-Wert im Bogenmaß liegt. : Wie wäre es, wenn der Hase Feinde mit Pfeilen erschießen lässt? Dies ist kein mildes Kaninchen!

Dieser Schritt ist etwas komplizierter, da Sie alle Pfeile verfolgen, aktualisieren, drehen und löschen müssen, wenn sie vom Bildschirm verschwinden.,

Fügen Sie zunächst die erforderlichen Variablen am Ende des Initialisierungsabschnitts Abschnitt 2 hinzu:

acc=arrows=

Die erste Variable verfolgt die Genauigkeit des Players und das zweite Array verfolgt alle Pfeile. Die Genauigkeitsvariable ist im Wesentlichen eine Liste der Anzahl der abgefeuerten Schüsse und der Anzahl der getroffenen Dachse. Später werden wir diese Informationen verwenden, um einen Genauigkeitsprozentsatz zu berechnen.

Als nächstes laden Sie das Pfeilbild am Ende von Abschnitt 3:

arrow = pygame.image.load("resources/images/bullet.png")

Wenn ein Benutzer nun mit der Maus klickt, muss ein Pfeil ausgelöst werden., Fügen Sie am Ende von Abschnitt 8 als neuen Ereignishandler Folgendes hinzu:

Dieser Code überprüft, ob auf die Maus geklickt wurde, und wenn ja, erhält er die Mausposition und berechnet die Pfeildrehung basierend auf der gedrehten Spielerposition und der Cursorposition. Dieser Rotationswert wird im Array arrows gespeichert.

Als nächstes müssen Sie tatsächlich die Pfeile auf dem Bildschirm zeichnen. Fügen Sie den folgenden Code direkt nach Abschnitt # 6.1 hinzu:

Die vely-und velx-Werte werden mithilfe der Basistrigonometrie berechnet. 10 ist die Geschwindigkeit der Pfeile., Die if-Anweisung überprüft nur, ob die Kugel außerhalb der Grenzen liegt, und wenn ja, löscht sie den Pfeil. Die zweite For-Anweisung durchläuft die Pfeile und zeichnet sie mit der richtigen Drehung.

Versuchen Sie, das Programm auszuführen. Sie sollten einen Hasen haben, der Pfeile schießt, wenn Sie mit der Maus klicken! 😀

Schritt 6: Nimm die Arme in die Hand! Dachse!

OK, du hast eine Burg und du hast einen Helden, der sich bewegen und schießen kann. Also, was fehlt? Feinde, die das Schloss angreifen, auf das der Held schießen kann!,

In diesem Schritt erstellen Sie zufällig generierte Dachse, die im Schloss ausgeführt werden. Es wird immer mehr Dachse geben, wenn das Spiel fortschreitet. Lassen Sie uns also eine Liste erstellen, wofür Sie sie benötigen.

  1. Fügen Sie Bösewichte zu einer Liste ein Array.
  2. Aktualisieren Sie den Bösewicht in jedem Frame und prüfen Sie, ob er nicht auf dem Bildschirm angezeigt wird.
  3. Zeige die bösen Jungs.

Einfach, nicht wahr?, :]

Fügen Sie zuerst den folgenden Code am Ende von Abschnitt 2 hinzu:

badtimer=100badtimer1=0badguys=]healthvalue=194

Oben wird ein Timer (sowie einige andere Werte) eingerichtet, damit das Spiel nach einiger Zeit einen neuen Dachs hinzufügt. Sie verringern den Badtimer in jedem Frame, bis er Null ist, und erzeugen dann einen neuen Dachs.

Fügen Sie nun am Ende von Abschnitt 3 Folgendes hinzu:

badguyimg1 = pygame.image.load("resources/images/badguy.png")badguyimg=badguyimg1

Die erste Zeile oben ähnelt dem vorherigen Bildladecode. Die zweite Zeile richtet eine Kopie des Bildes ein, damit Sie den Bösewicht viel einfacher animieren können.,

Als nächstes müssen Sie die bösen Jungs aktualisieren und zeigen. Fügen Sie diesen Code direkt nach Abschnitt #6.2 hinzu:

Viel Code zum Durchgehen. :] Die erste Zeile prüft, ob Badtimer Null ist und erstellt einen Badger und setzt Badtimer basierend darauf, wie oft Badtimer bisher ausgeführt wurde. Die erste for-Schleife aktualisiert die x-Position des Dachs, prüft, ob der Dachs außerhalb des Bildschirms ist, und entfernt den Dachs, wenn er außerhalb des Bildschirms ist. Die zweite for-Schleife zeichnet alle Dachse.

Um die Zufallsfunktion im obigen Code zu verwenden, müssen Sie auch die Zufallsbibliothek importieren., Fügen Sie also am Ende von Abschnitt 1 Folgendes hinzu:

import random

Fügen Sie diese Zeile direkt nach der while Anweisung (Abschnitt #4) hinzu, um den Wert von badtimer für jeden Frame zu dekrementieren:

badtimer-=1

Versuchen Sie den gesamten Code, indem Sie das Spiel ausführen. Jetzt solltest du anfangen, ein echtes Gameplay zu sehen – du kannst schießen, dich bewegen, drehen und Dachse versuchen, auf dich zu rennen.

Aber warte! Warum sprengen die Dachs das Schloss nicht in die Luft? Fügen wir das schnell hinzu…

Fügen Sie diesen Code direkt vor dem Index+=1 in der ersten for-Schleife in Abschnitt 6 hinzu.,3:

Dieser code ist ziemlich einfach. Wenn der x-Wert des Dachs rechts weniger als 64 beträgt, löschen Sie diesen Bösewicht und verringern Sie den Spielgesundheitswert um einen zufälligen Wert zwischen 5 und 20. (Später zeigen Sie den aktuellen Gesundheitswert auf dem Bildschirm an.)

Wenn Sie das Programm erstellen und ausführen, sollten Sie eine Reihe von angreifenden Dachsen bekommen, die verschwinden, wenn sie die Burg treffen. Obwohl Sie es nicht sehen können, senken die Dachse tatsächlich Ihre Gesundheit.,

Schritt 7: Kollisionen mit Dachsen und Pfeilen

Die Dachse greifen Ihre Burg an, aber Ihre Pfeile haben keinen Einfluss auf sie! Wie soll ein Hase seine Heimat verteidigen?

Zeit, um die Pfeile gesetzt, um die Dachs zu töten, so dass Sie Ihre Burg schützen und das Spiel gewinnen! Grundsätzlich müssen Sie alle Bösewichte durchlaufen und in jeder dieser Schleifen müssen Sie alle Pfeile durchlaufen und prüfen, ob sie kollidieren. Wenn dies der Fall ist, löschen Sie den Dachs, löschen Sie den Pfeil und fügen Sie einen zu Ihrem Genauigkeitsverhältnis hinzu.

Direkt nach Abschnitt # 6.3.,1, fügen Sie Folgendes hinzu:

In diesem Code ist nur eine wichtige Sache zu beachten. Die if-Anweisung ist eine integrierte PyGame-Funktion, die prüft, ob sich zwei Rechtecke schneiden. Die anderen paar Zeilen machen einfach das, was ich oben erklärt habe.

Wenn Sie das Programm ausführen, sollten Sie endlich in der Lage sein, die Dachse zu schießen und zu töten.

Schritt 8: Fügen Sie ein HUD mit Gesundheitsmesser und Uhr hinzu

Das Spiel schreitet ziemlich gut voran. Sie haben Ihre Angreifer, und Sie haben Ihren Verteidiger. Jetzt brauchen Sie nur noch eine Möglichkeit, die Punktzahl zu halten und zu zeigen, wie gut es dem Hasen geht.,

Am einfachsten ist es, ein HUD (Heads Up Display) hinzuzufügen, das den aktuellen Gesundheitszustand des Schlosses anzeigt. Sie können auch eine Uhr hinzufügen, um zu zeigen, wie lange das Schloss überlebt hat.

Fügen Sie zuerst die Uhr hinzu. Fügen Sie den folgenden Code direkt vor Beginn von Abschnitt 7 hinzu:

Der obige Code erstellt einfach eine neue Schriftart mit der Standard-PyGame-Schriftart, die auf Größe 24 festgelegt ist. Dann wird diese Schriftart verwendet, um den Text der Zeit auf eine Oberfläche zu rendern. Danach wird der Text positioniert und gezeichnet Bildschirm.

Fügen Sie als nächstes die Gesundheitsleiste hinzu., Bevor Sie jedoch die Statusleiste zeichnen, müssen Sie die Bilder für die Leiste laden. Fügen Sie am Ende von Abschnitt 3 den folgenden Code hinzu:

healthbar = pygame.image.load("resources/images/healthbar.png")health = pygame.image.load("resources/images/health.png")

Das erste ist das rote Bild, das für die vollständige Statusleiste verwendet wird. Das zweite ist das grüne Bild, das verwendet wird, um das aktuelle Gesundheitsniveau anzuzeigen.

Fügen Sie nun direkt nach Abschnitt #6.4 (den Sie gerade hinzugefügt haben) den folgenden Code hinzu, um die Zustandsleiste auf dem Bildschirm zu zeichnen:

 # 6.5 - Draw health bar screen.blit(healthbar, (5,5)) for health1 in range(healthvalue): screen.blit(health, (health1+8,8))

Der Code zeichnet zuerst die vollständig rote Zustandsleiste. Dann zieht es eine bestimmte Menge Grün über den Balken, je nachdem, wie viel Leben das Schloss noch hat.,

Wenn Sie das Programm erstellen und ausführen, sollten Sie einen Timer und eine Statusleiste haben.

Schritt 9: Gewinnen oder Verlieren

Aber was ist das? Wenn Sie lange genug spielen, auch wenn Ihre Gesundheit auf Null sinkt, geht das Spiel immer noch weiter! Nicht nur das, Sie können auch weiterhin auf die Dachse schießen. Das wird nicht funktionieren, oder? Sie benötigen eine Art Win / Lose-Szenario, um das Spiel spielenswert zu machen.

Fügen wir also die Win-and-Lose-Bedingung sowie den Win-or-Lose-Bildschirm hinzu. :] Sie tun dies, indem Sie aus der Hauptschleife austreten und in eine Win/Lose-Schleife gehen., In der Win / Lose-Schleife müssen Sie herausfinden, ob der Benutzer gewonnen oder verloren hat, und den Bildschirm entsprechend anzeigen.

Hier ist ein grundlegender Überblick über die Win/lose-Szenarien:

Wenn die Zeit abgelaufen ist (90000 ms oder 90 Sekunden), dann:

  • Stop running the game
  • Set outcome of game to 1 or win

If the castle is destroyed then:

  • Stop running game
  • Set outcome of game to 1 or win

Berechnen Sie die Genauigkeit so oder so.

Hinweis: Der acc*1.0 konvertiert acc nur in einen float., Wenn Sie dies nicht tun, gibt der Divisionsoperand eine Ganzzahl wie 1 oder 2 anstelle eines Floats wie 1.5

Fügen Sie diese Zeilen am Ende von game.py:

Dies ist das längste Bit Code noch! Aber es ist nicht so kompliziert.

Die erste if-Anweisung prüft, ob die Zeit abgelaufen ist. Der zweite prüft, ob die Burg zerstört ist. Der dritte berechnet Ihr Genauigkeitsverhältnis. Danach überprüft eine schnelle if-Anweisung, ob Sie gewonnen oder verloren haben, und zeigt das richtige Bild an.

Wenn Sie natürlich Bilder für die Gewinn-und Verlustbildschirme anzeigen möchten, müssen diese Bilder zuerst geladen werden., Fügen Sie also den folgenden Code am Ende von Abschnitt 3 hinzu:

gameover = pygame.image.load("resources/images/gameover.png")youwin = pygame.image.load("resources/images/youwin.png")

Eine weitere schnelle Sache. Ändern Sie Abschnitt 4 von:

# 4 - keep looping throughwhile 1: badtimer-=1

In:

# 4 - keep looping throughrunning = 1exitcode = 0while running: badtimer-=1

Die laufende Variable verfolgt, ob das Spiel vorbei ist und die Exit-Code-Variable verfolgt, ob der Spieler gewonnen oder verloren hat.

Führe das Spiel erneut aus und jetzt kannst du entweder triumphieren oder sterben! Cool. :]

Schritt 10: Unentgeltliche Musik und Sound-Effekte!

Das Spiel sieht ziemlich gut aus, aber wie klingt es? Es ist ein bisschen ruhig, nicht wahr?, Das Hinzufügen einiger Soundeffekte kann das gesamte Gefühl eines Spiels verändern.

PyGame macht Laden und Spielen klingt super einfach. Zuerst müssen Sie den Mixer initialisieren, indem Sie diesen am Ende von Abschnitt #2 hinzufügen:

pygame.mixer.init()

Dann laden Sie die Sounds und stellen Sie die Lautstärke am Ende von Abschnitt #3 ein:

Der größte Teil des obigen Codes lädt einfach die Audiodateien und konfiguriert die Lautstärke. Aber achte auf das Pygame.Mixer.Musik.linie laden-diese Zeile lädt die Hintergrundmusik für das Spiel und die nächste Zeile setzt die Hintergrundmusik für immer zu wiederholen.,

Das kümmert sich um die Audiokonfiguration. :] Jetzt müssen Sie nur noch die verschiedenen Soundeffekte nach Bedarf abspielen. Tun Sie dies gemäß den Anweisungen in den Kommentaren für den folgenden Code:

Führen Sie das Spiel noch einmal aus und Sie werden feststellen, dass Sie jetzt Hintergrundmusik und Soundeffekte für Kollisionen und Aufnahmen haben. Das Spiel fühlt sich so viel lebendiger an! :]

Wo Geht es von Hier Aus?

Sie sollten stolz auf sich sein: Sie sind gerade fertig mit dem erstellen ein lustiges Spiel, vollgepackt mit Musik, sound-Effekte, eine killer-Kaninchen, kamikaze Dachse und mehr. Ich sagte doch, du schaffst es!, :]

Sie können den endgültigen Quellcode für das Spiel hier herunterladen.

An dieser Stelle können Sie dieses Spiel in Ihre eigene Kreation erweitern! Vielleicht versuchen Sie, die Kunst durch Ihre eigenen Zeichnungen zu ersetzen oder verschiedene Waffen oder Monstertypen ins Spiel zu bringen!

Haben Sie Fragen oder Kommentare zu dem, was Sie in diesem Tutorial getan haben? Wenn ja, nehmen Sie an der Diskussion in den Foren teil! Ich würde gerne von dir hören.


Dies ist ein Beitrag von Tutorial-Teammitglied Julian Meyer, einem 13-jährigen Python-Entwickler.

raywenderlich.,com Wöchentlich

Die raywenderlich.com newsletter ist der einfachste Weg, um über alles, was Sie als mobiler Entwickler wissen müssen, auf dem Laufenden zu bleiben.

Holen Sie sich eine wöchentliche Zusammenfassung unserer Tutorials und Kurse und erhalten Sie einen kostenlosen ausführlichen E-Mail-Kurs als Bonus!

Durchschnittliche Bewertung

4.1 / 5

Fügen Sie eine Bewertung für diesen Inhalt hinzu

Melden Sie sich an, um eine Bewertung hinzuzufügen

15 Bewertungen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.