Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf1:lab_scratch [2022/09/20 10:18] – marroc | gf1:lab_scratch [2025/10/28 06:04] (aktuell) – marroc | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| =====Ein Spiel programmieren mit Scratch===== | =====Ein Spiel programmieren mit Scratch===== | ||
| - | <callout type=" | ||
| - | {{fa> | ||
| - | < | ||
| ===Das EVA Prinzip=== | ===Das EVA Prinzip=== | ||
| Ein Programm kann Eingabeinformationen enthalten, diese verarbeiten und dann allenfalls das Ergebnis als Ausgabe anzeigen. Oft wird hier auch vom **EVA Prinzip** gesprochen. {{ : | Ein Programm kann Eingabeinformationen enthalten, diese verarbeiten und dann allenfalls das Ergebnis als Ausgabe anzeigen. Oft wird hier auch vom **EVA Prinzip** gesprochen. {{ : | ||
| Zeile 11: | Zeile 8: | ||
| **V:** Das Scratch-Programm arbeitet die Anweisung der Blöcke Schritt für Schritt ab, sobald die grüne Fahne gedrückt wird. | **V:** Das Scratch-Programm arbeitet die Anweisung der Blöcke Schritt für Schritt ab, sobald die grüne Fahne gedrückt wird. | ||
| - | **A:** Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System. In Scratch wird dies auf der Bühne angezeigt und ist auch im fertig | + | **A:** Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System. In Scratch wird dies auf der Bühne angezeigt und ist auch im fertig |
| Ein Programm in Scratch entsteht durch das zusammenfügen von so genannten Code-Blöcken. Diese sind teilweise schon von Scratch bereitgestellt. Es können aber auch neue Blöcke definiert werden.\\ | Ein Programm in Scratch entsteht durch das zusammenfügen von so genannten Code-Blöcken. Diese sind teilweise schon von Scratch bereitgestellt. Es können aber auch neue Blöcke definiert werden.\\ | ||
| Zeile 17: | Zeile 14: | ||
| In diesen Code-Blöcken gibt es viele wichtige Elemente wie Schleifen, Variablen, Bedingungen, | In diesen Code-Blöcken gibt es viele wichtige Elemente wie Schleifen, Variablen, Bedingungen, | ||
| - | </ | ||
| - | </ | ||
| - | <callout type=" | + | ==== Scratch-Umgebung ==== |
| - | {{fa> | + | |
| - | < | + | |
| Öffnen Sie den Scratch im Browser unter Ihnen steht es frei, die Programmierumgebung [[https:// | Öffnen Sie den Scratch im Browser unter Ihnen steht es frei, die Programmierumgebung [[https:// | ||
| Zeile 41: | Zeile 35: | ||
| Figuren bilden die Grundlage von Scratch, sie können sich auf der Bühne bewegen, das Aussehen verändern oder mit anderen Figuren interagieren. Diese Figuren werden über Scripts (Programme) gesteuert. Als BenutzerIn kann man eine Scratch-Figur aus einer grossen Menge an Figuren auswählen, man kann diese auch verändern oder eigene Figuren hochladen. | Figuren bilden die Grundlage von Scratch, sie können sich auf der Bühne bewegen, das Aussehen verändern oder mit anderen Figuren interagieren. Diese Figuren werden über Scripts (Programme) gesteuert. Als BenutzerIn kann man eine Scratch-Figur aus einer grossen Menge an Figuren auswählen, man kann diese auch verändern oder eigene Figuren hochladen. | ||
| {{ : | {{ : | ||
| - | </ | ||
| - | </ | ||
| - | <callout type=" | + | |
| - | {{fa> | + | ==== Scratch-Blöcke ==== |
| - | < | + | |
| {{ : | {{ : | ||
| Zeile 54: | Zeile 47: | ||
| ===Verarbeitungsblöcke=== | ===Verarbeitungsblöcke=== | ||
| - | * Die gewölbten **Ereignisblöcke** werden als **Code-Start-Element** genutzt. Beispielsweise, | + | * Die gewölbten **Ereignisblöcke** werden als **Code-Start-Element** genutzt. Beispielsweise, |
| * **Steuerungsblöcke**: | * **Steuerungsblöcke**: | ||
| - | * **Schleifen**: | + | * **Schleifen**: |
| - | * **Entscheidungsblöcke**: | + | * **Entscheidungsblöcke**: |
| * **Blöcke mit Variablen: | * **Blöcke mit Variablen: | ||
| Zeile 63: | Zeile 56: | ||
| * **Bewegungsblöcke**: | * **Bewegungsblöcke**: | ||
| * **Aussehen oder Klangblöcke**: | * **Aussehen oder Klangblöcke**: | ||
| - | </ | ||
| - | </ | ||
| - | <callout type=" | + | ==== Scratch-Spiel programmieren ==== |
| - | {{fa> | + | |
| - | < | + | |
| Es folgt eine Spezifikation des Spiels. Anschliessend wird das Spiel etappenweise mit Block-Programmierung programmiert. Zu jeder Etappe gibt es, falls gewünscht, eine genaue Anleitung. Es kann aber immer auch selbst auf eigene Faust innerhalb der einzelnen Etappen programmiert werden. | Es folgt eine Spezifikation des Spiels. Anschliessend wird das Spiel etappenweise mit Block-Programmierung programmiert. Zu jeder Etappe gibt es, falls gewünscht, eine genaue Anleitung. Es kann aber immer auch selbst auf eigene Faust innerhalb der einzelnen Etappen programmiert werden. | ||
| ===Die Spezifikation=== | ===Die Spezifikation=== | ||
| - | Was soll das spiel können? Wie genau soll das Standardspiel genau funtionieren? Hier eine mögliche Beschreibung. | + | Was soll das Spiel können? Wie genau soll das Standardspiel genau funktionieren? Hier eine mögliche Beschreibung. |
| * Der Spieler navigiert sein Raumschiff mithilfe der Pfeiltasten (Standard: Nach oben und nach unten) durch einen Asteroidenhagel. | * Der Spieler navigiert sein Raumschiff mithilfe der Pfeiltasten (Standard: Nach oben und nach unten) durch einen Asteroidenhagel. | ||
| * Ein Regler für die Geschwindigkeit des Hagels steuert das Spieltempo. Die Häufigkeit, | * Ein Regler für die Geschwindigkeit des Hagels steuert das Spieltempo. Die Häufigkeit, | ||
| * Sobald ein Asteroid das Raumschiff berührt, endet das Spiel. | * Sobald ein Asteroid das Raumschiff berührt, endet das Spiel. | ||
| - | * Wird die Leertaste gedrückt, feuert das Raumschiff Laserstrahlen ab, um die Asteroiden so zu zerstören. Die Munition (Anzahl Laserschüsse) wird gezält | + | * Wird die Leertaste gedrückt, feuert das Raumschiff Laserstrahlen ab, um die Asteroiden so zu zerstören. Die Munition (Anzahl Laserschüsse) wird gezählt |
| Das Programm muss fortlaufen in einer Schleife kontrollieren, | Das Programm muss fortlaufen in einer Schleife kontrollieren, | ||
| - | {{ :gf1:flowchartlab1.png?direct&700 |}} | + | {{ :gf1:lab1aktivitaet.png?nolink&800 |}} |
| + | <WRAP nicebox green> | ||
| ===Das Setting=== | ===Das Setting=== | ||
| Durch diesen Programmteil wird die Spielumgebung und die Figuren festgelegt. | Durch diesen Programmteil wird die Spielumgebung und die Figuren festgelegt. | ||
| Zeile 104: | Zeile 95: | ||
| | 2 | Die Steuerung wird wie folgt programmiert: | | 2 | Die Steuerung wird wie folgt programmiert: | ||
| |:::|Eine **endlose Schleife** " | |:::|Eine **endlose Schleife** " | ||
| - | |:::|In der Scheife | + | |:::|In der Schleife |
| |:::|Die zweite " | |:::|Die zweite " | ||
| |:::|Testen Sie das geschriebene Script, starten Sie das Spiel über die grüne Fahne oben in der Mitte des Fensters. Verschieben Sie vor dem Testen die Anzeigen (zum Scrollen) in die obere rechte Ecke.|| | |:::|Testen Sie das geschriebene Script, starten Sie das Spiel über die grüne Fahne oben in der Mitte des Fensters. Verschieben Sie vor dem Testen die Anzeigen (zum Scrollen) in die obere rechte Ecke.|| | ||
| Zeile 125: | Zeile 116: | ||
| |::: | |::: | ||
| |:::|Hier soll beim Start einen Asteroiden der Grösse 22 erzeugt werden aber noch nicht sichtbar sein (sich verstecken).|| | |:::|Hier soll beim Start einen Asteroiden der Grösse 22 erzeugt werden aber noch nicht sichtbar sein (sich verstecken).|| | ||
| - | |::: | + | |::: |
| |2|**Der Asteroidenhagel**|| | |2|**Der Asteroidenhagel**|| | ||
| |:::|Nun soll ein Schwarm von Asteroiden entstehen. Dies ist vermutlich etwas knifflig. Hier einige Hinweise, die befolgt werden sollten.|| | |:::|Nun soll ein Schwarm von Asteroiden entstehen. Dies ist vermutlich etwas knifflig. Hier einige Hinweise, die befolgt werden sollten.|| | ||
| Zeile 148: | Zeile 139: | ||
| * Erweitern Sie das Spiel! | * Erweitern Sie das Spiel! | ||
| * Speichern Sie das Spiel und laden Sie das Spiel (oder falls online den Link dazu) auf OneNote in Ihre Gruppe! | * Speichern Sie das Spiel und laden Sie das Spiel (oder falls online den Link dazu) auf OneNote in Ihre Gruppe! | ||
| - | * eine mögliche Lösung könnte [[https:// | + | * eine mögliche Lösung könnte [[https:// |
| - | + | ||
| **Erweiterungsmöglichkeiten: | **Erweiterungsmöglichkeiten: | ||
| Zeile 157: | Zeile 147: | ||
| * Lassen Sie die Asteroiden von ganz verschiedenen Positionen heranfliegen. | * Lassen Sie die Asteroiden von ganz verschiedenen Positionen heranfliegen. | ||
| * eigene Ideen umsetzen. | * eigene Ideen umsetzen. | ||
| + | </ | ||
| + | |||
| + | |||
| + | **Nachbearbeitung: | ||
| + | * Zu zweit ein Spiel zum Laufen bringen bis vor den Ferien, Sie bekommen noch 45 Minuten Zeit in einer Lektion. | ||
| + | * Die wichtigsten Erkenntnisse: | ||
| + | * Die Programmierelemente identifizieren und den Code erklären können. (Beispielsweise: | ||
| + | * Verstehen, was Modulo macht. Siehe Schritt 5 beim [[https:// | ||
| - | </ | ||
| - | </ | ||
| [[gf1: | [[gf1: | ||