Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+:

www.dpunkt.plus

Al Sweigart

Coole Spiele mit Scratch 3

Lerne programmieren und
baue deine eigenen Spiele

2., überarbeitete und aktualisierte Auflage

Al Sweigart

Lektorat: Gabriel Neumann

Lektoratsassistenz: Anja Weimer

Fachgutachter: Martin Tan

Übersetzung: G&U Language & Publishing Services GmbH, Flensburg, www.GundU.com

Copy-Editing: Friederike Daenecke, Zülpich

Satz: G&U Language & Publishing Services GmbH und Veronika Schnabel

Herstellung: Stefanie Weidner

Umschlaggestaltung: Helmut Kraus, www.exclam.de

nach der Originalvorlage von No Starch Press

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:

 

Print

978-3-86490-859-0

PDF

978-3-96910-638-9

ePub

978-3-96910-639-6

mobi

978-3-96910-640-2

2., überarbeitete und aktualisierte Auflage 2022

Translation Copyright für die deutschsprachige Ausgabe © 2022 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Copyright © 2021 by Al Sweigart. Title of English-language original: Scratch 3 Programming Playground, ISBN 9781718500211, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The German-language edition Copyright © 2022 by dpunkt.verlag under license by No Starch Press Inc. All rights reserved.

Hinweis:

Dieses Buch wurde auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie.

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: hallo@dpunkt.de.

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten.

Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag noch Übersetzer können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5  4  3  2  1  0

Für Seymour Papert.

Mach's gut und danke für die Schildkröten.

(29. Februar 1928 – 31. Juli 2016)

Der Autor

Al Sweigart ist Softwareentwickler, Sachbuchautor und ein echter Frood, der weiß, wo sein Handtuch ist. Er hat mehrere Programmierlehrbücher für Einsteiger geschrieben, unter anderem Routineaufgaben mit Python organisieren, das ebenfalls bei dpunkt erschienen ist. Auf seiner Website http://www.inventwithpython.com/ sind seine Bücher unter einer Creative-Commons-Lizenz kostenlos verfügbar (in Englisch).

Der Fachgutachter

Martin Tan ist Mitorganisator eines Programmierclubs in Australien. Er hat Scratch- und Python-Programme mit Weltraum-Thematik für Moonhack 2016 geschrieben. Bei dieser Veranstaltung kamen mehr als 9000 Kinder zusammen, um den Weltrekord im Simultanprogrammieren durch Kinder zu brechen. Martin testet auch Computer und Netzwerke auf ihre Sicherheit, beteiligt sich an verschiedenen Open-Source-Projekten und ist in der Forschung tätig.

Inhalt

Einleitung

Kapitel 1:Erste Schritte mit Scratch

Kapitel 2:Regenbogenlinien im Weltraum

Kapitel 3:Ein Labyrinthspiel

Kapitel 4:Basketball mit Schwerkraft

Kapitel 5:Ein Brick-Breaker-Spiel mit Schliff

Kapitel 6:Asteroidenknacker

Kapitel 7:Ein anspruchsvolles Jump-&-Run-Spiel

Wie geht es jetzt weiter?

Index

Inhaltsverzeichnis

Danksagungen

Einleitung

Für wen ist dieses Buch gedacht?

Der Aufbau dieses Buches

Die Projekte durcharbeiten

Zusatzmaterial auf der Begleitwebsite

Korrekturen und Ergänzungen

Kapitel 1: Erste Schritte mit Scratch

Scratch ausführen

Der Offline-Editor

Figuren und der Scratch-Editor

Der Zeichenbereich

Codeblöcke

Blöcke hinzufügen

Blöcke löschen

Programme ausführen

Deine Programme vorführen

Wenn du Hilfe brauchst

Das Fenster »Tutorien«

Schau hinein

Zusammenfassung

Kapitel 2: Regenbogenlinien im Weltraum

Das Projekt skizzieren

A. Den Weltraum-Hintergrund anlegen

1. Aufräumen und die Bühne vorbereiten

B. Drei bewegliche Punkte erstellen

2. Einen Punkt zeichnen

3. Code für die Figur Dot 1 hinzufügen

4. Die Figur Dot 1 kopieren

C. Die Regenbogenlinien zeichnen

5. Code für den zeichnenden Punkt hinzufügen

Das vollständige Programm

Turbo-Modus

Zusammenfassung

Wiederholungsfragen

Kapitel 3: Ein Labyrinthspiel

Das Projekt skizzieren

A. Die Katze bewegen

1. Bewegungscode zu der Figur hinzufügen

2. Den Bewegungscode für die Katze duplizieren

B. Die Labyrinthe der einzelnen Levels gestalten

3. Die Labyrinthbilder herunterladen

4. Das Bühnenbild ändern

5. Das erste Labyrinth einrichten

C. Verhindern, dass die Katze durch die Wände geht

6. Prüfen, ob die Katze die Wand berührt

D. Ein Ziel am Ende des Labyrinths anlegen

7. Die Apfelfigur erstellen

8. Erkennen, wann der Spieler den Apfel erreicht

9. Code zur Nachrichtenverarbeitung zur Figur Maze hinzufügen

Das vollständige Programm

Version 2.0: Zwei-Spieler-Modus

Die Apfelfigur duplizieren

Den Code von Apple2 ändern

Die orangefarbene Katze kopieren

Den Code für die blaue Katze ändern

Zurück an den Start

Cheat-Modus: Durch die Wände gehen

Den Code hinzufügen, mit dem die orangefarbene Katze Wände durchdringt

Den Code hinzufügen, mit dem die blaue Katze Wände durchdringt

Zusammenfassung

Wiederholungsfragen

Kapitel 4: Basketball mit Schwerkraft

Das Projekt skizzieren

A. Die Katze springen und fallen lassen

1. Den Schwerkraftcode zur Katze hinzufügen

2. Code für die Landung auf dem Boden hinzufügen

3. Den Springcode zur Katze hinzufügen

B. Die Katze nach rechts und links gehen lassen

4. Gehcode zur Katze hinzufügen

C. Einen schwebenden Reifen erstellen

5. Die Figur für den Reifen erstellen

6. Die Hitbox-Figur erstellen

D. Die Katze Körbe werfen lassen

7. Die Figur für den Ball erstellen

8. Den Code für den Ball hinzufügen

9. Einen Treffer erkennen

10. Den Fehler bei der Punktwertung beheben

Das vollständige Programm

Cheat-Modus: Bewegungsloser Reifen

Zusammenfassung

Wiederholungsfragen

Kapitel 5: Ein Brick-Breaker-Spiel mit Schliff

Das Projekt skizzieren

A. Einen Schläger erstellen, der sich nach rechts und links bewegt

1. Die Figur für den Schläger erstellen

B. Einen Ball erstellen, der an den Wänden abprallt

2. Die Figur für den Tennisball erstellen

C. Den Ball vom Schläger abprallen lassen

3. Code für Schlägerberührungen zum Tennisball hinzufügen

D. Klone des Backsteins erstellen

4. Die Backsteinfigur hinzufügen

5. Die Backsteinfigur klonen

E. Den Ball von den Steinen abprallen lassen

6. Code für Ballberührungen zur Backsteinfigur hinzufügen

F. Meldungen für Sieg und Niederlage anzeigen

7. Den Code für den Tennisball ändern

8. Die Figur »Game Over« erstellen

9. Die Figur für die Siegesmeldung erstellen

Das vollständige Programm

Version 2.0: Zeit für den letzten Schliff

Einen coolen Hintergrund zeichnen

Musik hinzufügen

Den Schläger bei Ballberührung blinken lassen

Das Erscheinen und Verschwinden der Backsteine animieren

Einen Klangeffekt zum Ausblenden der Steine hinzufügen

Einen Klangeffekt für den Tennisball hinzufügen

Eine Spur hinter dem Tennisball herziehen

Das Erscheinen der Figur »Game Over« animieren

Das Erscheinen der Siegesmeldung animieren

Zusammenfassung

Wiederholungsfragen

Kapitel 6: Asteroidenknacker

Das Projekt skizzieren

A. Ein Raumschiff erstellen, das umhergestoßen wird

1. Die Figur für das Raumschiff erstellen

B. Für eine umlaufende Bewegung an den Rändern sorgen

2. Den Code für die umlaufende Bewegung zur Raumschifffigur hinzufügen

3. Code für Zufallsbewegungen zur Raumschifffigur hinzufügen

C. Mit der Maus zielen und mit der Leertaste schießen

4. Die Figur für die Energiegeschosse erstellen

D. Umherschwebende Asteroiden erstellen

5. Die Asteroidenfigur erstellen

E. Getroffene Asteroiden in zwei Hälften teilen

6. Code zum Zerteilen der Asteroiden hinzufügen

7. Den Code für die Nachricht »asteroid blasted« hinzufügen

F. Den Punktestand verfolgen und einen Timer erstellen

8. Die Figur »Out of time« erstellen

G. Ein getroffenes Raumschiff explodieren lassen

9. Die Figur für die Explosion hochladen

10. Den Code für die Explosion erstellen

11. Den Explosionscode zur Raumschifffigur hinzufügen

Version 2.0: Begrenzter Munitionsvorrat

Cheat-Modus: Energiespirale

Zusammenfassung

Wiederholungsfragen

Kapitel 7: Ein anspruchsvolles Jump-&-Run-Spiel

Das Projekt skizzieren

A. Die Katze fallen und landen lassen

1. Die Figur für das Gelände erstellen

2. Code zum Fallen und Landen hinzufügen

3. Die Katze horizontal bewegen und vertikal umlaufen lassen

4. Die Verzögerung beim Anheben aus dem Boden beseitigen

B. Die Bewegung an steilen Hängen und Wänden gestalten

5. Den Code für steile Wände hinzufügen

C. Die Katze verschieden hoch springen lassen

6. Den Springcode hinzufügen

D. Decken erkennen

7. Eine niedrige Plattform zur Geländefigur hinzufügen

8. Den Code für die Deckenerkennung hinzufügen

E. Eine Hitbox für die Katzenfigur verwenden

9. Ein Hitboxkostüm zur Katzenfigur hinzufügen

10. Den Hitbox-Code hinzufügen

F. Die Gehanimation verbessern

11. Der Katzenfigur neue Kostüme hinzufügen

12. Einen Block für den Kostümwechsel erstellen

G. Das Level gestalten

13. Das Bühnenbild hinzufügen

14. Das Hitbox-Kostüm für die Figur »Ground« gestalten

15. Den Code für die Figur »Ground« hinzufügen

16. Weiteren Umlaufcode zur Katzenfigur hinzufügen

H. Krabben und Äpfel hinzufügen

17. Die Apfelfigur und den Code dafür hinzufügen

18. Die Krabbenfigur erstellen

19. Die künstliche Intelligenz für die Gegner gestalten

20. Die Figur »Time’s up« hinzufügen

Zusammenfassung

Wiederholungsfragen

Wie geht es jetzt weiter?

Index

Danksagungen

Es ist irreführend, dass auf dem Umschlag nur mein Name steht, denn dieses Buch wäre ohne die Leistung vieler anderer Menschen nicht möglich gewesen. Ich möchte dem Verleger Bill Pollock danken; meiner Lektorin, Frances Saux; meiner Produktionsredakteurin, Rachel Monaghan; meiner Fachgutachterin, Olivia Rodrigues; und meiner Korrektorin, Kim Wimpsett. Und ich danke allen, die an der ersten Ausgabe mitgearbeitet haben: den Lektoren Laurel Chun und Tyler Ortman, dem Fachgutachter Martin Tan, der Korrektorin Anne Marie Walker sowie allen Mitarbeitern bei No Starch Press.

Ein weiteres Dankeschön geht an die Lifelong-Kindergarten-Gruppe des MIT Media Lab für die Entwicklung von Scratch, das wiederum auf eine lange Ahnenreihe einflussreicher Vordenker zurückblicken kann: Mitchel Resnick, Seymour Papert, Marvin Minsky und Jean Piaget. Wir tragen die jüngere Generation auf unseren Schultern, aber dabei dürfen wir nie vergessen, auf wessen Schultern wir stehen.

Besonderen Dank möchte ich dem Museum of Art and Digital Entertainment in Oakland (Kalifornien) aussprechen. Sich an einem Videospielmuseum zu beteiligen, macht wirklich so viel Spaß, wie es klingt. Und es hat mir sehr viel gebracht, dass ich mich freiwillig für die Scratch-Wochenendkurse des MADE gemeldet habe. Wenn Alex Handy, Mike Pavone und William Morgan diese Scratch-Kurse nicht ins Leben gerufen hätten, wäre mir niemals die Idee für dieses Buch gekommen.

in Videospiel zu spielen macht Spaß. Aber Videospiele selbst zu programmieren ist eine kreative, fesselnde Tätigkeit, mit der du deinen eigenen Spielspaß gestalten kannst. Die kostenlose Programmierumgebung Scratch bietet dir die Möglichkeit, leicht das Programmieren zu lernen. Zwar wurde Scratch hauptsächlich für die Altersgruppe von 8 bis 16 Jahren entwickelt, doch es wird auch von anderen Personen verwendet: sowohl von jüngeren Kindern zusammen mit ihren Eltern als auch von Oberstufenschülern, die ihre erste Programmiersprache lernen.

Da man mit Scratch so viel machen kann, ist es schwer, einen Anfang zu finden. Deswegen kommt dir dieses Buch zu Hilfe. Es zeigt dir, wie du verschiedene Videospiele in Scratch erstellen kannst. Während du die Projekte aus diesem Buch nachbaust, bekommst du eine gute Vorstellung davon, wie die einzelnen Blöcke gewöhnlich zur Gestaltung von Spielen eingesetzt werden. Diese Projekte bieten dir eine solide Grundlage für deine eigenen Programme.

Für wen ist dieses Buch gedacht?

Um dieses Buch verstehen zu können, brauchst du keinerlei Programmierkenntnisse. Die einzigen mathematischen Kenntnisse, die du benötigst, sind die Grundrechenarten Addition, Subtraktion, Multiplikation und Division. Auch wenn du eine Abneigung gegen Mathematik hast, lass dich davon nicht abhalten, programmieren zu lernen! Schließlich ist der Computer ja dazu da, dir die Rechenarbeit abzunehmen.

Jedes Programm in diesem Buch lässt sich leicht schreiben, indem du einfach den Schritt-für-Schritt-Anleitungen folgst. Dabei lernst du die einzelnen Codeblöcke und Programmiertechniken kennen, während du sie einsetzt, um Spiele zu gestalten. Egal wie dein Kenntnisstand zurzeit aussieht, es gibt keinen Grund, nicht sofort mit dem Lesen dieses Buches zu beginnen.

Kinder könnten den Anleitungen selbstständig folgen, aber dieses Buch ist auch für Eltern und Lehrer gedacht, die ihre Kinder oder Schüler in die Welt der Programmierung einführen wollen. Die Projekte sind ideal als Zeitvertreib fürs Wochenende oder für eine Computer-AG geeignet. Erwachsene, die dieses Buch einsetzen wollen, um andere beim Lernen zu unterstützen, müssen auch keine Softwareingenieure sein.

Das Programmieren ist aber eine praktische Tätigkeit, die du ebenso wie Karate oder Gitarrespielen nicht allein durch Lesen lernen kannst. Vollziehe die Anleitungen nach und schreibe die vorgestellten Spiele! Auf diese Weise lernst du viel mehr.

Der Aufbau dieses Buches

Jedes Kapitel zeigt dir ausführlich, wie du ein bestimmtes Spiel programmierst. Die verschiedenen Programmiertechniken werden dabei immer dann behandelt, wenn sie gebraucht werden. Zu Anfang erstellst du jeweils eine Skizze, die zeigt, wie das fertige Spiel aussehen soll, und planst die Hauptteile des Programms. In den folgenden Abschnitten lernst du Schritt für Schritt, wie du diese einzelnen Teile programmierst, bis du das Spiel komplett geschrieben hast. Danach kannst du das Spiel noch um besondere Funktionen oder um einen Cheat-Modus erweitern. Anhand der Wiederholungsfragen am Ende des Kapitels kannst du prüfen, ob du den Lernstoff verstanden hast.