|
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 |
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: |
|
978-3-86490-859-0 |
|
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)
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).
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.
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
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
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.
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.
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.