|
BreakEm |
Top Previous Next |
|
Diesen Monat habe ich mich entschieden, Code für einen 3D Breakout Klon zu schreiben: er enthält 5 Level, Code für die Punktzahl, Leben, verschiedene abschießbare Steine und vieles mehr!
Lassen Sie mich erklären, was die Steine bedeuten:
Das ist ein gewöhnlicher Stein. Wenn Sie ihn treffen verschwindet er und gibt Punkte.
Dieser Stein vergrößert Ihre Spielfigur.
Dieser Stein verkleinert Ihre Spielfigur.
Dieser Stein beschleunigt den Ball.
Dieser Stein verlangsamt den Ball.
Dieser Stein gibt Ihnen ein Extra Leben.
Und dies ist ein unsichtbarer Stein ;). Sie können Ihn nicht sehen, aber er erscheint, wenn Sie ihn das erste Mal treffen und kann nur durch einen zweiten Treffer entfernt werden.
Wie Sie sehen habe ich schon einige Steine; Sie können (und sollten!) weitere erfinden.
Hier sind einige Code Highlights:
1) Jeder Stein wird durch einen Zähler erfasst, dessen Wert angezeigt wird; auf diese Weise kann man erkennen, ob ein Level noch unsichtbare Steine enthält.
2) Ich habe zwei Mechanismen eingebaut, die verhindern, dass der Ball in der Wand, einer Ecke oder im Spieler hängenbleibt, indem ich die zurückgelegte Distanz im letzten Frame betrachte.
3) Der Spieler verliert ein Leben, wenn die Koordinaten des Balles in x-Richtung unter 550 Quants fallen. Ändern Sie diesen Wert, wenn Sie ein anderes Level benutzen.
4) Der Ball verhält sich manchmal etwas zufällig, was das Spiel interessanter macht und Situationen vermeidet, in denen der Ball einfach immer zwischen zwei Wänden hin und her prallt, ohne dass der Spieler eingreifen kann.
5) Ich erlaube dem Ball nicht in Winkeln abzuprallen, die nahe bei –90 oder 90 Grad liegen (langweilig anzuschauen); wenn der Winkel im Intervall von –100 bis -80 oder im Intervall von 80 bis 100 liegt, wird er auf den jeweiligen Randwert gesetzt.
6) Das nächste Level wird dadurch erreicht, dass main() erneut aufgerufen wird. Die Variable level_number muss vorher auf die gewünschte Levelzahl gesetzt werden.
|