Raspberry Pi-Projekt: Flappy Witch
In diesem Projekt erkläre ich Ihnen Schritt für Schritt, wie Sie in Scratch ein Flappy-Bird-Spiel erstellen.
Über Flappy Bird:
Die Inspiration für dieses Projekt stammt vom Spiel Flappy Bird. Das Spiel wurde 2013 für Mobiltelefone veröffentlicht.
Im Spiel geht es um einen Vogel, der ständig fällt. Durch Tippen auf den Bildschirm können Sie ihn zum Fliegen bringen. Sie müssen den Vogel durch Antippen durch die Hindernisse führen. Er darf die Hindernisse nicht berühren. In der Zwischenzeit wird der Punktestand festgehalten. Ziel des Spiels ist es, die höchstmögliche Punktzahl zu erreichen.
Dieses Spiel wurde zu einem riesigen Hype. Seit das Spiel aus dem Playstore entfernt wurde, wurden viele Replikate erstellt. Dies ist einer davon!
Was ist Scratch?
Scratch ist ein Programmierprogramm auf Ihrem Raspberry Pi . In diesem Programm arbeiten Sie mit Funktionsblöcken. Das bedeutet, dass Sie den Programmiertext nicht selbst schreiben. Die Blöcke mit den Funktionen wurden bereits für Sie erstellt. Diese Blöcke fügst Du selbst in einen Zeitplan ein. Wenn Sie die Raspbian-Software auf Ihren Raspberry Pi sollte Scratch automatisch auf Ihrem Pi installiert werden. Wenn nicht, sollten Sie dieses herunterladen.
Ich programmiere in Scratch auf dem Raspberry Pi 4 mit 4GB. Sie können auch auf dem Raspberry Pi 3B+ programmieren. Sie können die 1 GB oder 2 GB auch mit dem Pi 4 verwenden.
Programmieren Sie in Scratch 2.0? Dann können Sie diesem Tutorial trotzdem folgen. Bitte beachten Sie, dass sich bestimmte Funktionen an einer anderen Stelle befinden können und die Bilder auch anders aussehen können als auf Ihrem Bildschirm. Sie können diesem Tutorial folgen, da der Code derselbe ist.
Da es sich um eine lange Anleitung handelt, habe ich die Erklärung in Unterüberschriften unterteilt. So finden Sie leichter wieder, wo Sie aufgehört haben.
Sprache ändern.
Ihr Programm ist wahrscheinlich auf Englisch. Um die Schritte korrekt auszuführen, ist es ratsam, die Sprache in Ihrem Programm zu ändern. Sie können die Sprache ändern, indem Sie oben links auf Ihrem Bildschirm auf den „Globus“ klicken. Dieses Symbol befindet sich neben dem Scratch-Logo. Wählen Sie Niederländisch.
Verbinden und Starten
An der Seite des Raspberry Pi 4B befinden sich zwei Micro-HDMI-Anschlüsse. Stecken Sie das Micro-HDMI-Kabel in den linken Anschluss und das HDMI-Ende in einen Monitor oder ein Display.
Schließen Sie eine Tastatur und Maus an die USB-Anschlüsse an und stecken Sie schließlich das Stromkabel in den USB-C-Anschluss.
Ihr Setup ist jetzt zum Booten bereit.
Wenn der Raspberry Pi jetzt bootet, sehen Sie einen Desktop auf Ihrem Monitor. Beim ersten Start ist eine Einrichtung erforderlich, die jedoch Schritt für Schritt erklärt wird.
Programmierung
1. Programmieren Sie Ihr Sprite
Zuerst erstellen wir unser Sprite. Aber was ist ein Sprite? Ein Sprite wird in Scratch als eine Art Charakter angesehen. Auch ein Objekt im Hintergrund kann als Sprite bezeichnet werden, beispielsweise ein Gebäude.
- Starten Sie Ihren Raspberry Pi und klicken Sie auf die Raspberrye. Gehen Sie zur Programmierung und starten Sie Scratch.
- Wenn Sie Scratch starten, werden Sie sehen, dass bereits ein Standard-Sprite erstellt wurde. Dieses kannst du behalten. Sie können auch selbst ein neues Sprite erstellen oder eines auswählen.
- Möchten Sie das Standard-Sprite entfernen? Klicken Sie dann mit der rechten Maustaste auf das Symbol unten links auf Ihrem Bildschirm. Und dann klicken Sie auf Löschen.
- Um ein neues Sprite zu erstellen, wird der Text „Neues Sprite:“ angezeigt. Um selbst ein Sprite zu erstellen, klicken Sie auf den Pinsel. Um ein Sprite auszuwählen, klicken Sie auf seinen Kopf. Für dieses Tutorial habe ich die Hexe gewählt.
- Passen Sie den Namen für Ihr Sprite an. Um den Namen zu ändern, gehen Sie zu „Darstellungen“. Dort steht: „Neues Erscheinungsbild:“ Geben Sie anschließend den Namen für das Sprite ein.
Jetzt können wir mit dem Code beginnen. Zuerst programmieren wir unser Sprite. Im Spiel fällt der Sprite mit konstanter Geschwindigkeit (Schwerkraft) herunter. Sie können das Sprite hochhalten, indem Sie auf den Bildschirm klicken.
- Wenn Sie Ihr Sprite gerade bearbeitet haben, drücken Sie „Skripte“. Nun erscheinen die Funktionsblöcke erneut. Gehen Sie zu Ereignissen und schnappen Sie sich den Block „Wenn (Flagge) angeklickt wurde“.
- Gehen Sie zu den Steuerelementen und schnappen Sie sich einen Wiederholungsblock. Platzieren Sie dies unter dem Startblock. Nehmen Sie als Nächstes einen „Wenn-Dann“-Block und fügen Sie ihn in den Wiederholungsblock ein.
- Als nächstes gehen Sie zum Beobachten über. Greifen Sie zur „Maus gedrückt?“-Taste. Funktion. Diese Funktion platzierst Du zwischen if und then.
- Als nächstes erzeugen wir die Schwerkraft. Aufgrund der Schwerkraft fällt die Hexe senkrecht nach unten, also in Y-Richtung. Wir erstellen eine Variable für die Schwerkraft selbst.
Klicken Sie auf „Daten“ und dann auf „Variable erstellen“. Nennen Sie dies Schwerkraft. Aktivieren Sie: Nur für dieses Sprite. Das ist wichtig, sonst funktioniert es nicht. Klicken Sie dann auf OK (Abbildung 1).


- Nehmen Sie nun die Variable „make gravity 0“ (Schwerkraft auf 0 setzen). Platzieren Sie dies unter der Startfunktion. Jetzt ist die Schwerkraft immer 0
- Gehen Sie zur Bewegung und platzieren Sie den Block „Gehe zu X:– Y:–“ unter der erstellten Schwerkraft. Platzieren Sie Ihr Sprite dort, wo es zu Beginn des Spiels starten soll. Lesen Sie die X- und Y-Werte und verarbeiten Sie diese in Ihrem Block. Sie sehen diese Werte auf der linken Seite Ihres Bildschirms. Sie sehen Ihr Sprite in einem weißen Feld. In diesem Feld können Sie das Sprite verschieben. Wenn Sie die Maus im Feld bewegen, sehen Sie, wie sich die Werte ändern. Spielen Sie ein wenig damit. Wenn Sie die Werte in den Funktionsblock eingeben und anschließend auf Start drücken, wird angezeigt, wo das Sprite platziert wird. Passen Sie diese Werte an, bis Sie zufrieden sind. Sie können es später jederzeit ändern.
- Jetzt lassen wir das Sprite auf der Y-Achse auf und ab bewegen.
Gehen Sie zur Bewegung und schnappen Sie sich den Block „Ändere Y um 10“. Platzieren Sie dies unter dem Wiederholungsblock. Gehen Sie zu Daten und ersetzen Sie die 10 durch die Variable „Schwerkraft“. Platzieren Sie unten „Schwerkraft um 1 ändern“. Setzen Sie den Wert auf -0,8. Das Minus gibt die Richtung an, in die dein Sprite fällt, in diesem Fall nach unten. Die Zahl bestimmt die Geschwindigkeit. Sie können diese Werte selbst nach Ihren Wünschen anpassen.
- Platzieren Sie dann den Block „Schwerkraft 0“ unter „Maus gedrückt?“ Funktion. Ändern Sie den Wert auf 10. Jetzt fällt Ihr Sprite und springt wieder hoch, sobald die Maus gedrückt wird.
Ihr Zeitplan wird ungefähr so aussehen (Abbildung 2). Dies ist vorerst der Code Ihres Sprite.
2. Schaffen Sie Hindernisse
- Die Hindernisse können Sie selbst erstellen bzw. auswählen. Dies geschieht auf die gleiche Weise wie Schritt 2 (Programmieren Sie Ihr Sprite).
- Da wir Hindernisse am oberen und unteren Bildschirmrand haben möchten, erstellen wir zwei Bilder unter demselben Teil. Es gibt zwei Versionen des Sprites, das Sie jetzt erstellen werden.
- Nachdem Sie ein Sprite ausgewählt/erstellt haben, wählen Sie es aus. Gehen Sie dann zu „Darstellungen“. Ich habe das Gebäude ausgewählt, es wurden mehrere Versionen davon erstellt. Wenn dies bei Ihnen der Fall ist, können Sie alle anderen Versionen löschen und Ihre Lieblingsversion behalten. Durch Drücken des Kreuzes können Sie das verbleibende Sprite entfernen.
- Jetzt erstellen wir die 2. Version. Gehen Sie zu Ihrem Sprite-Symbol (Feld unter „Neues Erscheinungsbild“). Klicken Sie mit der rechten Maustaste und drücken Sie „Kopie erstellen“. Jetzt haben Sie dasselbe Gebäude zweimal. Wir werden diese 2. Version bearbeiten. Ganz oben rechts auf Ihrem Bildschirm sehen Sie verschiedene Funktionen zum Drehen Ihres Sprites. Drücken Sie die obere und untere Klappe (Abbildung 3). Jetzt haben wir eine Ober- und Unterseite für unsere Hindernisse. Vergessen Sie nicht, ihnen Namen zu geben. Ich habe sie „Oberes Gebäude“ und „Unteres Gebäude“ genannt.
Jetzt erstellen wir den Code, damit Sie beide Versionen Ihres Sprites gleichzeitig auf dem Bildschirm sehen können. Klicken Sie nun auf Ihr neues Sprite und gehen Sie zu Skripten. Jetzt können Sie einen Code erstellen, der nur für dieses Sprite gilt.
- Starten Sie den Code mit der gleichen Startfunktion wie den vorherigen Code. Gehen Sie zu „Darstellungen“ und platzieren Sie einen Verschwindeblock unter dem Start. Gehen Sie zur Steuerung und platzieren Sie unten einen Wiederholungsblock.
- Erstellen Sie eine Variable. Gehen Sie dabei genauso vor wie in Schritt 4 (Programmieren Sie Ihr Sprite). Ich nenne dies „Top/Bottom Building“. Auch diese Variablen gelten nur für dieses Sprite.
- Platzieren Sie „Make Top/Bottom Building 0“ im Wiederholungsblock. Benennen Sie die 0: Unten.
- Gehen Sie zu den Steuerelementen und platzieren Sie „Erstelle einen Klon von mir selbst“ unterhalb der vorherigen Erstellungsfunktion.
- Kopieren Sie dieselben 2 Blöcke aus den Schritten 7 und 8 und platzieren Sie sie untereinander.
- Nennen Sie das andere „Top/Bottom-Gebäude“ Top. Nun werden auch Gebäude darauf platziert. Gehen Sie zu den Bedienelementen und platzieren Sie „1 Sekunde warten“ unten in der Wiederholungsfunktion. Ich habe den Timer auf 1,5 Sekunden eingestellt. Dadurch wird der Abstand der Gebäude zueinander bestimmt.
- Ihr Diagramm sollte jetzt ungefähr so aussehen (Abbildung 4).
- Daneben beginnen wir mit einem weiteren Zeitplan. Gehen Sie zu „Steuerelemente“ und platzieren Sie die Funktion „Wenn als Klon gestartet wird“. Nehmen Sie aus „Erscheinungen“ einen Erscheinungsblock und platzieren Sie ihn unten.
- Gehen Sie zu „Steuerelemente“ und platzieren Sie einen „Wenn – Dann, Sonst“-Block unter der Funktion „Erscheinen“.
- Gehen Sie zu den Funktionen und platzieren Sie eine „Gleich“-Funktion zwischen „wenn – dann“. Tragen Sie in die erste gleiche Lücke Ihre Variable „Ober-/Unterseite des Gebäudes“ ein. Nach dem = schreiben Sie Unter. Beachten Sie, dass das Wort genauso geschrieben ist wie im Diagramm (Abbildung 4).
- Gehen Sie zu „Darstellungen“ und platzieren Sie darunter „Darstellung ändern in Unterbau“.
- Kopieren Sie diese Funktion und platzieren Sie sie woanders. Benennen Sie das Gebäude oben.


Wenn Sie für Ihre Sprites einen anderen Namen verwendet haben, sollten Sie diesen übernehmen.
- Jetzt haben wir es so codiert, dass die Ober- und Unterseite Ihres Hindernisses gleichzeitig auf Ihrem Bildschirm sichtbar sind (Abbildung 5). Die Position der Hindernisse spielt zunächst keine Rolle. Wichtig ist, dass beide gleichzeitig auf Ihrem Bildschirm sichtbar sind.
- Ihr Code wird ungefähr so aussehen (Abbildung 6).


3. Positionieren Sie die Hindernisse
Ziel des Spiels ist es, dass sich die Hindernisse von rechts nach links durch das Spiel bewegen. Daher ist es sinnvoll, mit den Gebäuden möglichst weit rechts zu beginnen. Sie können dies selbst anpassen, wenn Sie das Spiel etwas schwieriger gestalten möchten.
- Gehen Sie zu Bewegung und platzieren Sie „Gehe zu X:– Y: — danach“ unter „Ändere das Erscheinungsbild in „Über dem Gebäude“.
- Wenn Sie mit der Maus über den Bildschirm fahren, werden die X- und Y-Werte in der Ecke Ihres weißen Felds angezeigt. Diese ändern sich, wenn Sie die Maus bewegen.
- Spielen Sie mit den Werten von X. Wenn Sie den Wert eingeben und auf Start drücken, sehen Sie, wo er angezeigt wird. Tragen Sie die Werte ein, mit denen Sie zufrieden sind. Sie sehen das Hindernis nicht? Klicken Sie auf Ihr Sprite, gehen Sie zur Registerkarte „Kostüme“ und klicken Sie auf „Erscheinen“. Wenn Sie darauf klicken, wird Ihnen das Hindernis angezeigt. Um zu bestimmen, welches Sie anzeigen, klicken Sie auf die Darstellungsnummer 1 oder 2 (welches Sie sehen möchten).
- Sie möchten, dass die Hindernisse übereinander liegen. Platzieren Sie außerdem unten eine Funktion „Gehe zu X: — Y:– nach“. Wenn Sie mit der Position der Oberseite zufrieden sind, können Sie die X- und Y-Werte für die Unterseite eingeben. Jetzt stehen sie untereinander. Zur Verdeutlichung siehe Bild (Abbildung 7). Wie Sie sehen, habe ich die Gebäude an der Seite des Bildschirms platziert. Diese liegen übereinander.

4. Bewegen Sie die Hindernisse
Nun verschieben wir die Hindernisse auf dem Bildschirm
- Gehen Sie zu den Steuerelementen und fügen Sie den Block „Wiederholen bis“ nach dem „Wenn – Dann, sonst“-Block ein. Dieser Block prüft, ob die Bedingung wahr oder falsch ist. Wenn die Aktion nicht wahr ist, fährt das Programm mit dem nächsten Block fort. Wenn die Aktion wahr ist, wird der Code im Wiederholungsblock abgespielt.
- Wir lassen die Gebäude auch verschwinden, sobald sie den Sprite passieren. Entfernen Sie einen „kleiner als“-Block aus Funktionen. Und legen Sie es in das leere Feld nach „Wiederholen bis“.
- Gehen Sie zur Bewegung und greifen Sie den „X-Positionsblock“. Platzieren Sie dies vor <50.
- Um anzugeben, wann das Gebäude verschwinden soll, platzieren Sie die Maus auf der linken Seite des Bildschirms. Wählen Sie die Position aus, an der es verschwinden soll. Lesen Sie hieraus den X-Wert ab. Gehen Sie zur Bewegung und platzieren Sie die „X-Position“ für <50. Platzieren Sie nach <50 den X-Wert, wenn dieser verschwinden soll. Sie können das Hindernis der Einfachheit halber auch an den Rand Ihres Bildschirms verschieben (Abbildung 8).
- Gehen Sie zu den Steuerelementen und platzieren Sie den Block „Klon entfernen“ nach der Funktion „Wiederholen bis“.
- Verschieben wir nun die Gebäude nach links. Gehen Sie zur Bewegung und platzieren Sie einen Block „Ändere X um 10“ und platzieren Sie ihn innerhalb des Blocks „Wiederholen bis“. Ändern Sie den Wert von 10 auf -5. Dieser Wert bestimmt die Geschwindigkeit, mit der sich die Gebäude nach links bewegen. Sie können dies selbst anpassen, um das Spiel schwieriger zu gestalten.
Was hast du bisher geschrieben: Es erscheinen die Unter- und Oberseite von Gebäuden. Die Positionen dieser Gebäude sind angegeben. Wenn der X-Wert kleiner als (in meinem Fall) -230 ist, wird der Klon gelöscht.
Ihr Code sieht ungefähr so aus (Abbildung 9):
- Testen Sie selbst, ob der Code funktioniert.
- Die Wartezeit können Sie selbst anpassen. Dadurch wird bestimmt, alle wie viele Sekunden ein neues Gebäude platziert wird.
Nun ändern wir die Höhe der Gebäude durch Anpassen der Y-Position.
- Wir erstellen eine neue Variable. Der Einfachheit halber nenne ich es: Zufälligkeit Y Höhe. Dieser Wert gilt wiederum nur für dieses Sprite.
Dann erstellen wir eine zufällige Y-Position, an der die Gebäude platziert werden.
- Platzieren Sie in Variablen die Erstellung einer „zufälligen Y-Höhe“ im 1. Programmierblock oben in der Wiederholungsfunktion.
- Gehen Sie zu den Funktionen und geben Sie „Zufallszahl zwischen 1 und 10“ in das leere Variablenfeld ein.
- Es ist sinnvoll, wenn die Gebäude gut zentriert zueinander stehen. Gehen Sie zu „Erscheinungsbilder“, kopieren Sie ein Gebäude und platzieren Sie es mit den anderen, wie im Bild gezeigt (Abbildung 10).



- Um den Mittelpunkt der Gebäude zu bestimmen, wählen Sie beide Gebäude mit einem Quadrat aus. Sobald Sie das getan haben, sehen Sie in der Mitte einen Kreis. Bewegen Sie dies so nah wie möglich an die Mitte der Box. Bewegen Sie die Gebäude auseinander, um das Loch zu bestimmen, durch das Ihr Sprite gehen muss. Sollten Sie mit dem Abstand der Gebäude zueinander nicht ganz zufrieden sein, können Sie diesen auch später noch anpassen.
- Duplizieren Sie nun, was Sie gerade erstellt haben. Klicken Sie mit der rechten Maustaste auf das Bild auf der linken Seite Ihres Bildschirms. Klicken Sie dann auf „Duplizieren“. Siehe (Abbildung 11).
- Da Sie nun zweimal dieselbe Datei haben, entfernen Sie das untere Hindernis aus einem Bild. Und das andere oben. Nun hast du wieder ein oberes und ein unteres Hindernis, genau wie vorher. Aber jetzt sind sie zusammen positioniert.
- Passen Sie die Namen erneut an.
- Jetzt sollten Sie ein Bild haben, das Sie löschen können. Klicken Sie mit der rechten Maustaste und dann auf „Löschen“.
- Testen Sie Ihren Code, da Sie in meinem Fall sehen können, dass die Gebäude zu kurz sind (Abbildung 12). Sollte dies auch bei Ihnen der Fall sein, werden wir dies anpassen. Gehen Sie zurück zum Erscheinungsbild und wählen Sie Ihr Hindernis aus. Sie müssen es nur noch ein wenig strecken (Abbildung 13). Dadurch wird Ihr Hindernis länger und passt über den gesamten Bildschirm.
- Zurück zum Code: Positionieren Sie die maximale/minimale Höhe, bei der die Hindernisse beginnen sollen. Platzieren Sie es unten/oben auf dem Bildschirm und messen Sie die Y-Werte. Tragen Sie diese Werte in „Zufallszahl zwischen“ ein. Bei mir liegt der Höchstwert bei 160 und der Tiefstwert bei -160.
- Immer noch unklar, wo das Hindernis platziert werden soll? Schauen Sie sich dieses Bild an (Abbildung 14).




- Gehen Sie zu Daten. Platzieren Sie die „zufällige Y-Höhe“ auf dem Y im Block „Gehe zu X… Y…“ und platzieren Sie diese für die Ober- und Unterseite des Gebäudes. Ihre Codes sehen dann in etwa so aus (Abbildung 15).
- Testen Sie selbst, ob der Code funktioniert. Sie können den Abstand immer noch anpassen, indem Sie die Werte in Ihrem Code ändern. Spielen Sie ein wenig damit herum.
- Sie können auch die Größe Ihres Sprites anpassen: Klicken Sie auf Ihr Sprite, damit der Code angezeigt wird. Gehen Sie zu „Darstellungen“ und wählen Sie „Größe auf 100 % einstellen“. Platzieren Sie es unter „Gehe zu x: y:“ und über der Wiederholungsfunktion. Sie können es nach Ihren Wünschen anpassen (Abbildung 16).
Finden Sie, dass Ihr Sprite beim Spielen zu still ist? Dann können wir eine Art Animation hinzufügen, genau wie beim echten Flappy Bird.
- Gehen Sie zu den Steuerelementen, schnappen Sie sich einen „Wenn-Dann“-Block und platzieren Sie ihn unten im Wiederholungsblock.
- Gehen Sie zu Bewegung und wählen Sie „Auf 90 Grad zeigen“. Sie können dies beliebig anpassen. Ich wähle 75 Grad. Platzieren Sie dies unter der Funktion „Gravitation 10 erstellen“.
- Gehen Sie zu den Funktionen, nehmen Sie einen „Kleiner als“-Block und platzieren Sie ihn zwischen den „Wenn“ – „Dann“
- Anschließend gehen wir auf Bewegung und wählen die Funktion „Richtung“, die wir auf <50 einstellen.
- Nach <50 tragen wir 90 ein. Dies steht für 90 Grad. 90 Grad war die Ausgangsposition des Sprite.
- Wenn die Richtung also weniger als 90 Grad beträgt, soll sich das Sprite im Uhrzeigersinn bewegen. Dazu gehen wir in Bewegung und nehmen die Drehung (im Uhrzeigersinn) um 15 Grad vor. Ich stelle die 15 auf 3 Grad ein. Schauen Sie selbst, welche Bewegung Ihnen gefällt. Platzieren Sie dies im „Wenn-Dann“-Block.
- Ihr Code wird ungefähr so aussehen (Abbildung 17).



5. Funktionsverlust
Dann müssen wir natürlich eine Verlustfunktion hinzufügen. Gehen Sie zu Ihrem Charaktercode.
- Gehen Sie zu den Steuerelementen und platzieren Sie einen Wenn-Dann-Block unten im Wiederholungsblock.
- Gehen Sie zu „Beobachten“ und wählen Sie „Berühre ich (Variablen)?“ Überprüfen Sie hier Ihr Hindernis. Weil ich Gebäude von Grund auf ausgewählt habe, wähle ich Gebäude aus. Platzieren Sie diesen Block zwischen „wenn“ und „dann“.
Gehen Sie zu den Steuerelementen, greifen Sie den Block „Alles stoppen“ und platzieren Sie ihn im Block „Wenn dann“. Was du jetzt geschrieben hast bedeutet, dass der gesamte Code stoppt, wenn der Sprite die (in meinem Fall) Gebäude berührt.
- Das Spiel ist auch verloren, wenn man zu weit nach unten fällt. Gehen Sie zu den Funktionen und schnappen Sie sich einen „Oder“-Block. Setzen Sie die Überschrift „Soll ich – berühren?“ in der ersten Öffnung des oder Blocks. Platzieren Sie dann den „oder“-Block zwischen „wenn“ und „dann“.
- Nehmen Sie für Funktionen den Kleiner-als-Block und platzieren Sie ihn nach der Oder-Funktion.
- Gehen Sie zur Bewegung, greifen Sie die Y-Position und platzieren Sie sie vor dem <.
- Platzieren Sie das Sprite am unteren Bildschirmrand und messen Sie den Y-Wert. Ich messe den Y-Wert – 170.
- Ihr Code wird ungefähr so aussehen (Abbildung 18).
- Testen Sie selbst, ob der Code funktioniert.
- Sie werden die erstellten Variablen wahrscheinlich auf Ihrem Bildschirm sehen. Sie können diese entfernen, indem Sie zur Überschrift „Variablen“ gehen. Aktivieren Sie die Kontrollkästchen neben der Variable. Machen Sie dies mit Ihrem Sprite und Hindernis.

6. Hintergrund hinzufügen
Neben Ihren erstellten Sprites sehen Sie den Spielfeldhintergrund. Unterhalb des bereits erstellten Hintergrunds stehen Ihnen die Funktionen zur Verfügung, einen eigenen zu erstellen oder einen auszuwählen. Spielen Sie ein wenig damit.
7 Punktestand
Gehen Sie zu Ihrem Hinderniscode.
- Zuerst erstellen wir eine neue Variable und nennen sie Score. Sie können dies für alle Sprites verwenden.
- Die Idee ist, dass Sie einen Extrapunkt erhalten, wenn der Sprite durch die Mitte des Hindernisses geht.
- Gehen Sie zu den Steuerelementen und schnappen Sie sich einen „Wenn-Dann“-Block. Legen Sie dieses vorübergehend locker auf Ihren Bildschirm.
- Gehen Sie dann zu den Funktionen, schnappen Sie sich eine „ist größer als“-Funktion und platzieren Sie sie zwischen den „wenn dann“-Schaltflächen.
- Gehen Sie zur Beobachtung und greifen Sie sich die „X-Position des (Name Ihres Sprites)-Blocks“. Platzieren Sie diese Funktion vor > – zwischen den „wenn dann“
- Nehmen Sie in der Beobachtung die X-Position und platzieren Sie sie nach dem >.
- Dann erhalten Sie die Variable „Punktzahl um 1 ändern“ aus den Daten. Und platzieren Sie dies im „Wenn-Dann“-Block.
- Anschließend platzierst du diesen Block im Block „Wiederholen bis“. Unter „X ändern mit“.
- Ihr Code sollte vorerst ungefähr so aussehen (Abbildung 19).
Wenn Sie jetzt testen, werden Sie sehen, dass die Punktzahl schnell steigt. Das liegt daran, dass das Programm schnell erkennt, dass der Sprite das Hindernis passiert hat. Es zählt also zu lange. Wir stellen sicher, dass er nur 1 Punkt hinzufügt.
- Wir erstellen eine neue Variable und nennen sie „bereits bewertet“. Wählen Sie „Nur für dieses Sprite“ aus und drücken Sie „OK“.
- Gehen Sie zu Daten und nehmen Sie den Block „Bereits bewertet machen“ 0. Ändern Sie den Wert 0 in: Nein
- Platzieren Sie diesen Block am Anfang des Codes unter „erscheinen“.
- Gehen Sie als Nächstes zu den Funktionen und greifen Sie zum Block „und“. Und nehmen Sie einen „Gleich“-Block und platzieren Sie den „Gleich“-Block in der zweiten Lücke des „Und“-Blocks.
- Gehen Sie zu Ihren Variablen, nehmen Sie Ihre Variable „bereits bewertet“ und platzieren Sie sie auf dem — =.
- Nach dem = setzen Sie: Nein
- Platzieren Sie die gesamte Tasse zwischen den „Wenn-Dann“-Motiven. Platzieren Sie dies auf der 1. Öffnung der und Funktion. Machen Sie diese Befehlsreihe rückgängig.
- Nun prüft das Programm, ob das Sprite bereits gepunktet hat. Das Programm muss die Punktzahl nur einmal hinzufügen. Daher setzen wir für Variablen eine „bereits erzielte Punktzahl“ von 0. Ändern Sie die 0 in Ja. Und fügen Sie dies zwischen die as-Funktion ein. Unter „Punktzahl um 1 ändern“.
- Ihr Code sollte jetzt ungefähr so aussehen (Abbildung 20).


- Testen Sie, ob Ihr Code funktioniert. Sie werden wahrscheinlich feststellen, dass die Punktzahl um 2 steigt. Das liegt daran, dass beide Hindernisse enthalten sind.
- Wir weisen darauf hin, dass nur ein Hindernis (oben oder unten) für die Wertung berücksichtigt wird. Wir stellen jetzt sicher, dass nur das oberste Hindernis gezählt wird.
- Gehen Sie zu den Funktionen und wählen Sie den Block „und“ und „gleich“. Platzieren Sie den Gleichheitsblock an der letzten offenen Stelle der „und“-Funktion.
- Platzieren Sie =Bottom in der Top/Bottom-Gebäudevariablen.
- Schreiben Sie an das = Oben
- Ziehen Sie den langen Code zwischen „wenn dann“ in den offenen Bereich der „und“-Funktion.
- Ändern Sie nach dem = in „Unten“.
- Ziehen Sie den nun langen Code neben die if-Funktion und platzieren Sie ihn vor der and-Funktion. Legen Sie es anschließend wieder an die gleiche Stelle zurück.
- Ihr Code wird ungefähr so aussehen (Abbildung 21).
- Der von Ihnen geschriebene Code prüft, ob das Sprite das Hindernis passiert hat. Außerdem wird geprüft, ob er bereits ein Tor erzielt hat. Und es prüft, ob Top/Bottom gleich Top ist. Das bedeutet, dass nur die Spitze zählt. Wenn all dies zutrifft, erhöht sich die Punktzahl um 1.
- Sie werden feststellen, dass der Punktestand nicht zurückgesetzt wird, wenn Sie von vorne beginnen. Dies ändern wir, indem wir vor der Startfunktion eine Variable (das Flag) hinzufügen. Machen Sie „Score“ 0 (Bild 22).
- Entfernen Sie nun die Variable „bereits erzielt“ von Ihrem Bildschirm, indem Sie das Kontrollkästchen aktivieren.


Jetzt haben Sie Ihr eigenes Flappy Bird-Spiel erstellt! Hat es Ihnen Spaß gemacht, das zu machen? Man kann das Spiel noch erweitern. Sie können beispielsweise Musik und Soundeffekte hinzufügen oder mehrere Charaktere erstellen. Damit haben Sie bereits die Grundlage für das Spiel geschaffen und können das Spiel nun ganz nach Ihren Wünschen gestalten. Viel Spaß!
