Dies ist ein Versuch, in Python einen Klon aus Jetpack -Joyride -Klonspiel zu machen. Das Endergebnis funktioniert ziemlich gut. Der gesamte Code ist in objektorientiertem Design mit minimaler Python -Bibliothek ausgelegt.
W: Nach oben bewegen A: Links bewegen D: Nach rechts bewegen F: Shoot V: Speedboost (kann nur einmal im Spiel verwendet werden)
Die Schwerkraft wird implementiert (ständige Beschleunigung) Hindernisse können abgeschossen werden. Sammeln Sie Münzen für die Punktzahl. Es gibt Power Pickup wie Magnet, um Münzen und Schild anzuziehen, um die Niederlage den Drachen im Finale zu schützen, wenn Sie können.
Um das Spiel auszuführen, führen Sie einfach die main.py -Datei aus, nachdem Sie das Repository geklont haben. Verwenden Sie Python3 Compiler.
Entitätsklasse: Klassen, die zu allen Objekten gehören, die im Board erben Entitätsklasse. Diese Klasse verbindet sich der Entitätsliste des Spiels und hat das Konzept der Koordiantes. Grundsätzlich kann es sich als Stift oder Ankerbindungsobjekte an die Leinwand vorstellen. Hinweis: Entität selbst wird nicht verwendet. Nur die Kinder werden verwendet.
Personklasse: Dies wird verwendet, um quadratische Formobjekte einer bestimmten Größe herzustellen. Es erbt von der Entität. Diese Klasse wurde immer wieder verwendet, um Klassen wie Mandalorianer, Münzen, Schild, Kugeln, Drachen usw. zu erstellen. Dies ist das Hauptbeispiel für die Kraft von OOPS
Hindernisse: Erben Sie direkt von der Entitätsklasse, da sie sich in Form und Größe unterscheiden. Sie haben ihre eigenen Funktionen von Collisi9on.
Konzept: In häufigen Intervallen werden Entitäten zufällig erzeugt. Es gibt eine Liste von Entitäten im Spielobjekt. Bei jedem Frame ist jedes Objekt "angekreuzt" und aktualisiert. Wenn es auf dem Bildschirm angezeigt werden muss, wird es gerendert. Nachdem alle Objekte aktualisiert wurden, überprüfen wir Kollisionen in der Liste und basieren auf Kollisionen, die den Spielstatus aktualisieren. Zu diesem Zeitpunkt wurden aufgrund der Zecken alle Objekte in der Leinwand gerendert. Wir zeichnen die Leinwand mit einem 2D -Array. Leinwand wird zu Beginn jeder Zecke aktualisiert.
HINWEIS: Nicht alle Variablen werden privat gemacht und in einigen Cass -Getter- und Setterfunktionen werden nicht verwendet. Beispiel: Rendern auf der Leinwand. Dies ist auf Einfachheit und Leistungsaufwand zurückzuführen.