Ereignisse und Auslöser
Einstieg
Herzlich willkommen in der Welt der digitalen Unterhaltung! Wir wollen uns mit einem spannenden Thema beschäftigen, das sicher viele von euch begeistert: Videospiele!
Aber habt ihr euch schon einmal gefragt, wie Videospiele eigentlich auf eure Eingaben reagieren? Ob ihr nun einen Controller oder eine Tastatur verwendet, jedes Eingabegerät löst eine bestimmte Reaktion im Spiel aus.
In dieser Einheit werdet ihr lernen, wie Spiele auf Eingaben und Auslöser reagieren und wie ihr selbst ein einfaches Spiel programmieren könnt. Also lasst uns gemeinsam in die Welt der Videospiele eintauchen!
Information
Ein Auslöser (auch Ereignis oder Event) ist in der Programmierung ein spezielles Signal, das von einem Programm oder einem Benutzer ausgelöst wird und eine Reaktion des Programms darauf aktiviert.
Ereignisse können beispielsweise Benutzerinteraktionen wie Tastatureingaben oder Mausklicks, Systemereignisse wie das Erreichen eines Zeitlimits oder das Empfangen einer Netzwerkverbindung oder interne Ereignisse wie das Beenden eines anderen Programms sein.
Programmierer verwenden Auslöser, um Programme zu entwerfen, die auf unterschiedliche Eingaben und Ereignisse reagieren und so dynamisch und interaktiv sind. Auslöser sind ein wichtiger Bestandteil moderner Programmiersprachen.
Auslöser (oder Ereignisse) erkennst du in Scratch, an der Rundung auf der oberen Seite des Bausteins.
Es ist nicht möglich, einen Auslöser-Baustein unter einen anderen Baustein zu setzen. Ein Auslöser ist immer der Anfang einer Programmstruktur.
Aufgaben / Übung
Bearbeite die nachfolgenden Aufgaben.
Schreibe die jeweiligen Beschreibungen in dein Heft oder in eine Textverarbeitungsdatei.
Aufgabe 1: Erstelle ein Programm, das eine Figur bewegt, wenn verschiedene Tasten gedrückt werden. Beschreibe, wie die Figur bewegt wird und welche Tasten gedrückt werden müssen, um sie zu steuern.
- Solange das Programm läuft:
- Wenn Leertaste gedrückt wird:
- Bewege Figur nach oben
- Wenn Pfeiltaste nach links gedrückt wird:
- Bewege Figur nach links
- Wenn Pfeiltaste nach rechts gedrückt wird:
- Bewege Figur nach rechts
- Wenn Pfeiltaste nach unten gedrückt wird:
- Bewege Figur nach unten
- Wenn Leertaste gedrückt wird:
- Wähle eine Figur aus, die du bewegen möchtest.
- Überlege dir, welche Tasten du drücken musst, um die Figur in verschiedene Richtungen zu bewegen. Zum Beispiel kannst du die Pfeiltasten verwenden, um sie nach links, rechts, oben und unten zu bewegen.
- Verwende Blöcke wie „Wenn … gedrückt wird“ und „Ändere x/y-Position der Figur um …“ in Scratch, um die Bewegung der Figur zu steuern.
- Stelle sicher, dass deine Figur innerhalb des Bildschirms bleibt, indem du die Positionen begrenzt oder sie zurücksetzt, wenn sie den Rand erreicht.
- Teste dein Programm regelmäßig, um sicherzustellen, dass es wie erwartet funktioniert und passe es gegebenenfalls an.
Wenn eine der Pfeiltasten gedrückt wird, ändert sich eine der Richtungswerte x oder y um 10 in die entsprechende Richtung.
Eine Veränderung des x-Wertes entspricht einer Änderung nach links (+) oder nach rechts (-).
Eine Veränderung des y-Wertes entspricht einer Änderung nach oben (+) oder nach unten (-).
Aufgabe 2: Erstelle ein Programm, das eine Figur ändert, wenn die Maus über sie bewegt wird. Beschreibe, welche Figur verwendet wird und welche Änderungen vorgenommen werden.
- Solange das Programm läuft:
- Wenn Mauszeiger über Figur bewegt wird:
- Ändere das Aussehen der Figur (z. B. ändere ihre Farbe oder Form)
- Wenn Mauszeiger über Figur bewegt wird:
- Wähle eine Figur aus der Bibliothek aus, die du verwenden möchtest.
- Platziere die Figur auf der Bühne und richte sie nach deinen Wünschen aus.
- Verwende die Ereignisblöcke, um das Programm so zu programmieren, dass es auf die Mausbewegungen reagiert.
- Verwende die Aussehensblöcke, um die Figur zu ändern, wenn die Maus darüber bewegt wird.
- Füge dem Programm eine Schleife hinzu, damit es dauerhaft ausgeführt wird.
Wenn die Maus über die Figur bewegt wird, können verschiedene Änderungen vorgenommen werden, wie zum Beispiel das Ändern der Größe, Farbe oder Rotation der Figur. Du kannst auch animierte Effekte hinzufügen, wie das Blinken der Figur oder das Abspielen von Soundeffekten.
Aufgabe 3: Erstelle ein Programm, das eine Nachricht anzeigt, wenn die Figur ein Hindernis berührt. Beschreibe, welche Art von Hindernis verwendet wird und welche Nachricht angezeigt wird.
- Solange das Programm läuft:
- Wenn Figur mit Hindernis kollidiert:
- Zeige Nachricht "Game Over" an
- Wenn Figur mit Hindernis kollidiert:
- Wähle eine Figur aus, die sich bewegen soll, und platziere Hindernisse auf dem Spielfeld.
- Bestimme, wie das Programm erkennen soll, dass die Figur ein Hindernis berührt. Es gibt einen entsprechenden Baustein im Bereich Fühlen.
- Wenn das Programm erkennt, dass die Figur ein Hindernis berührt hat, soll es eine Nachricht ausgeben. Überlege dir, welche Art von Nachricht am besten passt, beispielsweise „Oops, du hast ein Hindernis berührt!“ oder „Versuche es erneut!“
- Teste das Programm, um sicherzustellen, dass die Nachricht angezeigt wird, wenn die Figur ein Hindernis berührt.
Die Figur, die wir verwenden, ist eine Katze. Wenn das Katze ein Hindernis berührt, wird die Nachricht „Ich berühre das Hindernis!“ angezeigt. Das Hindernis ist eine beliebige andere Figur, die auf der Bühne platziert ist. Wir verwenden Blöcke in Scratch, um die Kollisionserkennung und die Anzeige der Nachricht zu programmieren.
Aufgabe 4: Erstelle ein Programm, das eine Figur ändert, wenn eine bestimmte Taste gedrückt wird. Beschreibe, welche Figur verwendet wird und welche Änderungen vorgenommen werden.
- Solange das Programm läuft:
- Wenn Taste A gedrückt wird:
- Ändere das Aussehen der Figur (z. B. ändere ihre Farbe oder Form)
- Wenn Taste A gedrückt wird:
- Wähle eine geeignete Figur, die du für dieses Programm verwenden möchtest.
- Wähle einen der Bausteine „ändere Effekt Farbe um …“ oder „wechsle zum nächsten Kostüm“.
- Verwende die Ereignis-Blöcke, um das Drücken der Taste zu erkennen.
- Wenn die Taste gedrückt wird, ändere die Farb-Variable entsprechend.
- Verwende die Ausgabe-Blöcke, um die Farbänderung der Figur anzuzeigen.
Für dieses Programm könnte beispielsweise eine Figur in Form eines Autos verwendet werden. Wenn eine bestimmte Taste, zum Beispiel die Taste „Pfeil links“, gedrückt wird, soll das Auto nach links bewegt werden. Wenn die Taste „Pfeil rechts“ gedrückt wird, soll das Auto nach rechts bewegt werden. Die Änderungen, die an der Figur vorgenommen werden, sind z.B. ihre Position auf der Bühne, je nachdem welche Taste gedrückt wurde.
Aufgabe 5: Erstelle ein Programm, das einen Sound abspielt, wenn eine bestimmte Zeit verstrichen ist. Beschreibe, welcher Sound verwendet wird und wie lange gewartet werden muss, bevor er abgespielt wird.
- Solange das Programm läuft:
- Warte 30 Sekunden
- Spiele einen Sound ab
- Wähle einen Sound aus der Scratch-Bibliothek aus, den du abspielen möchtest.
- Bestimme, wie lange gewartet werden soll, bevor der Sound abgespielt wird.
- Verwende einen Timer-Block, um die Wartezeit zu implementieren.
- Füge einen „Start“-Block hinzu, der den Timer startet, wenn das Programm ausgeführt wird.
- Füge einen „Warten“-Block hinzu, der das Programm pausiert, während der Timer herunterzählt.
- Verwende einen „Wenn“-Block, um zu überprüfen, ob die Wartezeit abgelaufen ist.
- Füge einen „Sound abspielen“-Block hinzu, der den ausgewählten Sound wiedergibt, wenn die Wartezeit abgelaufen ist.
Ich verwende eine Figur. Dann füge ich den Baustein „warte … Sekunden“ hinzu, bevor der Sound abgespielt werden soll. Ich habe die Zeit auf 5 Sekunden eingestellt. Wenn die Zeit abgelaufen ist, spiele ich den Sound ab, den ich vorher ausgewählt habe.
Aufgabe 6: Erstelle ein Programm, das eine Figur ändert, wenn sie den Rand des Bildschirms berührt. Beschreibe, welche Figur verwendet wird und welche Änderungen vorgenommen werden.
- Solange das Programm läuft:
- Wenn Figur den Bildschirmrand berührt:
- Ändere das Aussehen der Figur (z. B. ändere ihre Farbe oder Form)
- Wenn Figur den Bildschirmrand berührt:
- Verwende den Baustein „wird … berührt“ (Fühlen) die x- und y-Koordinaten der Figur, um zu überprüfen, ob sie den Rand des Bildschirms erreicht hat.
- Überprüfe in jedem Schritt des Programms, ob die Figur den Rand des Bildschirms berührt hat.
- Wenn die Figur den Rand des Bildschirms berührt hat, ändere ihre Eigenschaften (z.B. Farbe oder Richtung) mithilfe von Scratch-Blöcken wie „Ändere Farbeeffekt um“ oder „Setze Richtung auf“.
- Verwende Scratch-Blöcke wie „Wenn dann“-Blöcke, um das Verhalten der Figur zu steuern, wenn sie den Rand des Bildschirms berührt hat.
Um das Skript zu erstellen, wird der Block „Falls wird Rand berührt?“ ausgewählt und in das Skriptfeld gezogen. Danach wird der Block „Drehe Figur um 15 Grad“ ausgewählt und unter den „Wenn Figur an den Rand stößt“-Block platziert. Das bedeutet, dass wenn die Figur den Rand des Bildschirms berührt, sie um 15° im Uhrzeigersinn gedreht wird.
Aufgabe 7: Erstelle ein Programm, das ein Objekt bewegt, wenn die Maustaste gedrückt wird. Beschreibe, welches Objekt verwendet wird und welche Bewegungen ausgeführt werden.
- Solange das Programm läuft:
- Wenn Maustaste gedrückt:
- Bewege Objekt in Richtung Mauszeiger
- Wenn Maustaste gedrückt:
- Wähle ein Objekt aus, das du bewegen möchtest. Das könnte zum Beispiel eine Figur oder ein Ball sein.
- Erstelle ein Event-Block für „Wenn Maustaste gedrückt“. Du findest diesen Block unter „Ereignisse“ in der Scratch-Blockpalette.
- Füge einen Bewegungsblock hinzu, der das ausgewählte Objekt bewegt. Du findest diese Blöcke unter „Bewegung“ in der Scratch-Blockpalette. Du könntest zum Beispiel den Block „Gehe … Schritte“ verwenden, um das Objekt in eine bestimmte Richtung zu bewegen.
- Teste dein Programm, indem du die Maustaste drückst und schaust, ob das Objekt sich bewegt.
Hier sind einige zusätzliche Hinweise:
- Wenn du möchtest, dass das Objekt sich kontinuierlich bewegt, solange die Maustaste gedrückt wird, könntest du den Bewegungsblock in eine Schleife einbetten.
- Du könntest auch zusätzliche Bedingungen hinzufügen, um das Objekt in verschiedene Richtungen zu bewegen, je nachdem, welche Maustaste gedrückt wird.
- Wenn du möchtest, dass das Objekt nur einmal bewegt wird, wenn die Maustaste gedrückt wird, könntest du einen Bedingungsblock hinzufügen, der überprüft, ob das Objekt bereits bewegt wurde.
Zunächst müssen wir eine Katzenfigur auf der Bühne platzieren. Wir können dies tun, indem wir eine neue Figur erstellen und das Katzenbild als Kostüm auswählen.
Als nächstes müssen wir eine Funktion schreiben, die aufgerufen wird, wenn die Katze angeklickt wird. In dieser Funktion möchten wir eine neue Position für die Katze generieren und wählen den Baustein „gehe zu Zufallsposition“.
Aufgabe 8: Erstelle ein Programm, das eine Eingabe vom Spieler abwartet und die Nachricht anschließend ausgibt. Beschreibe dein Vorgehen und die verwendeten Bausteine.
- Solange das Programm läuft:
- Warte auf Eingabe vom Spieler
- Gib die Nachricht aus
- Verwende die Blockkategorie „Ereignisse“ („Wenn die grüne Flagge angeklickt wurde“) als Startpunkt für dein Programm.
- Verwende die Blockkategorie „Fühlen“ („Frage … und warte“) um den Spieler nach einer Eingabe zu fragen und die Eingabe zu speichern.
- Verwende die Blockkategorie „Ausgabe“ („Sage“) um die gespeicherte Eingabe auszugeben.
- Du kannst optional weitere Blöcke der Kategorie „Steuerelemente“ („Warte“, „Wiederhole“, „Falls … dann … sonst …“, usw.) verwenden, um dein Programm zu erweitern.
- Starte ein neues Scratch-Projekt und ziehe einen „Frage stellen“ Block aus der Fühlen-Kategorie in das Skriptbereich.
- Ändere den Text im Block auf eine Frage, die du dem Spieler stellen möchtest. Zum Beispiel: „Wie heißt du?“
- Ziehe einen weiteren Block, „Antwort“ aus der Fühlen-Kategorie. Dieser Block speichert die Antwort des Benutzers in einer Variable.
- Füge einen „Sprechblase“ Block aus der Aussehen-Kategorie hinzu und verbinde ihn mit dem „Antwort“ Block. Ändere den Text in der Sprechblase auf eine passende Antwort, z.B. „Hallo [Antwort]!“.
Aufgabe 9: Erstelle ein Programm, das eine Figur zurücksetzt, wenn sie ein Hindernis berührt. Beschreibe, welche Figur verwendet wird und wie sie zurückgesetzt wird. Erkläre, warum das Zurücksetzen in Spielen wichtig sein kann.
- Solange das Programm läuft:
- Wenn Figur Hindernis berührt:
- Setze Figur an Startposition zurück
- Wenn Figur Hindernis berührt:
- Wähle eine geeignete Figur aus, die sich durch den Raum bewegen soll, z.B. ein Raumschiff, ein Auto oder ein Tier.
- Platziere einige Hindernisse auf der Bühne, z.B. Felsen, Bäume oder Feinde. Achte darauf, dass die Hindernisse groß genug sind, um von der Figur erkannt zu werden.
- Erstelle eine Bewegungssequenz für die Figur, z.B. durch Verwendung von Pfeiltasten oder der Maus. Die Figur sollte so gesteuert werden können, dass sie den Hindernissen ausweicht.
- Erstelle eine Bedingung, die überprüft, ob die Figur ein Hindernis berührt hat. Dazu könntest du den „Berührt…?“-Block in Scratch verwenden.
- Wenn die Bedingung erfüllt ist, soll die Figur zurückgesetzt werden. Du könntest dazu beispielsweise die Koordinaten der Figur auf die Ausgangsposition zurücksetzen oder einen entsprechenden Block in Scratch verwenden.
- Optional könntest du eine Punkteanzeige hinzufügen, um den Spielstand zu verfolgen, oder einen Soundeffekt abspielen, wenn die Figur zurückgesetzt wird.
Für dieses Programm kann eine Figur wie ein Ball oder ein Charakter verwendet werden, die sich auf einer Bühne bewegt. Wenn die Figur ein Hindernis, wie zum Beispiel eine Wand, berührt, wird sie zurückgesetzt und an eine vordefinierte Startposition gebracht.
Um dies zu erreichen, kann ein Kollisionsdetektor verwendet werden, der die Positionen der Figur und des Hindernisses überwacht. Wenn die Positionen übereinstimmen, wird die Figur an die Startposition zurückgesetzt. Es kann auch nützlich sein, einen Timer oder eine Verzögerung hinzuzufügen, damit die Figur nicht sofort zurückgesetzt wird, wenn sie das Hindernis berührt.
Das Zurücksetzen in Spielen ist wichtig, um sicherzustellen, dass die Figur innerhalb des Spielbereichs bleibt und nicht durch Hindernisse oder andere Objekte feststeckt. Es kann auch dazu beitragen, die Spielbalance aufrechtzuerhalten, indem es dem Spieler eine Chance gibt, erneut zu versuchen, wenn er auf ein Hindernis stößt.
Aufgabe 10: Erstelle ein Programm, das den Hintergrund der Bühne ändert, wenn der Mauszeiger über eine Figur bewegt wird. Beschreibe, welche Figur verwendet wird und wie die Hintergrundfarbe geändert wird.
- Solange das Programm läuft:
- Wenn Mauszeiger über der Figur:
- Ändere Hintergrundfarbe der Bühne
- Wenn Mauszeiger über der Figur:
- Erstelle eine Figur, die auf der Bühne platziert wird und die reagiert, wenn der Mauszeiger über sie bewegt wird.
- Erstelle eine Bedingung, die überprüft, ob der Mauszeiger über die Figur bewegt wird.
- Wenn die Bedingung erfüllt ist, wechsle zum nächsten Bühnenbild oder versuche den Hintergrund mit dem Erweiterungsmodul Malstift anzupassen.
Hier sind einige Hinweise, die du den Schülern geben kannst:
- Verwende die Blöcke „Wenn Maus über Figur“ und „Wenn Maus nicht über Figur“ aus der Kategorie „Ereignisse“, um die Bedingung zu erstellen, die überprüft, ob der Mauszeiger über der Figur ist.
- Verwende die Blöcke „Stiftgröße“, „Stiftfarbe“ und „setze Stift ab“ aus der Kategorie „Malstift“, um die Hintergrundfarbe der Bühne zu ändern.
Für dieses Programm könnte man beispielsweise einen Kreis als Figur verwenden. Wenn der Mauszeiger über den Kreis bewegt wird, ändert sich die Hintergrundfarbe. Hierzu könnte man die Blöcke aus der Sonderkategorie „Malstift“ verwenden. Setze die Stiftstärke auf 1000, um den ganzen Bildbereich zu übermalen und wähle eine Farbe aus.