# Scratch (freiwillig)

Quelle: https://dev.inf.zone/exercises/01/scratch/

## Aufgabe

**Auf einen Blick**

- **Was:** Ein eigenes Projekt in Scratch unter [scratch.mit.edu](https://scratch.mit.edu): eine interaktive Geschichte, ein Spiel, eine Animation oder etwas anderes.
- **Anforderungen:** mindestens zwei Figuren, drei Skripte, eine Bedingung, eine Schleife, eine Variable und ein eigener Block mit Eingabe. Die genauen Regeln stehen unter [Anforderungen](#anforderungen).
- **Freiwillig:** Scratch zählt nicht für die Bonuspunkte und wird nicht abgegeben.
- **Konto:** Für die Aufgabe brauchen Sie kein Scratch-Konto.

## Beispiele

So sahen Projekte früherer CS50-Studierender aus:

-   [It's Raining Men](https://scratch.mit.edu/projects/37412/)
-   [Soccer](https://scratch.mit.edu/projects/37413/), ein Spiel
-   [Cookie Love Story](https://scratch.mit.edu/projects/26329196/), eine Animation
-   [Lebkuchengeschichten](https://scratch.mit.edu/projects/277536784/), eine interaktive Geschichte
-   [Schnittpunkt](https://scratch.mit.edu/projects/75390754/), ein Spiel
-   [Hogwarts](https://scratch.mit.edu/projects/422258685), ein Spiel

Lassen Sie sich davon und von [scratch.mit.edu](https://scratch.mit.edu/explore/projects/all) inspirieren, aber überlegen Sie sich eine eigene Idee.

## Anforderungen

Ihr Projekt muss

1. mindestens zwei Figuren (englisch *sprites*) verwenden, von denen mindestens eine keine Katze ist,
2. **insgesamt** mindestens drei Skripte enthalten (nicht drei pro Figur),
3. mindestens eine Bedingung, mindestens eine Schleife und mindestens eine Variable verwenden,
4. mindestens einen Block verwenden, den Sie selbst erstellt haben (links unter **Meine Blöcke > Neuer Block**) und der mindestens eine Eingabe verarbeitet,
5. komplexer sein als die meisten Beispiele aus der Vorlesung (viele davon waren lehrreich, aber recht kurz). Es darf weniger komplex sein als [Oscartime](https://scratch.mit.edu/projects/277537196) und [Ivy's Hardest Game](https://scratch.mit.edu/projects/326129433).

Dafür brauchen Sie wahrscheinlich insgesamt einige Dutzend Puzzleteile.

Ihr Code sollte nicht nur funktionieren, sondern auch gut aufgebaut sein:

- **Kurze Skripte:** Wird ein Skript lang, teilen Sie es in mehrere Skripte auf, von denen jedes eine bestimmte Sache tut.
- **Abstraktion:** Können Sie einer Folge von Blöcken einen beschreibenden Namen geben (z. B. **miau**), gehört sie wahrscheinlich in einen eigenen Block.

## Hilfestellung

Klicken Sie auf die folgenden Tipps, um einige Ratschläge zu erhalten.

**Wie fange ich an?**

-   Für den Einstieg helfen die [Tutorials](https://scratch.mit.edu/projects/editor/?tutorial=all) und [Starterprojekte](https://scratch.mit.edu/starter-projects) von Scratch.
-   David Malans Beispiele aus der CS50-Vorlesung finden Sie auf der [Übersichtsseite zu Übung 1](https://dev.inf.zone/exercises/01/). Mit **Schau hinein** sehen Sie jeweils die Skripte.
-   Wählen Sie eine Idee, die Ihnen Spaß macht. Dann ergeben sich die Anforderungen meist von selbst.

**In kleinen Schritten vorgehen**

Bauen Sie nicht das ganze Projekt auf einmal, sondern einen Teil nach dem anderen, so wie in der Vorlesung: ein paar Puzzleteile zusammenfügen, ausprobieren, die nächsten Puzzleteile, ausprobieren und so weiter.

Speichern Sie alle paar Minuten über **Datei > Auf deinem Computer speichern**, damit Sie keine Arbeit verlieren.

**Eine Funktion ist zu schwierig**

Lassen Sie sich nicht unterkriegen: Ändern Sie Ihren Entwurf oder umgehen Sie das Problem. Die Anforderungen oben lassen sich auch mit einem einfacheren Entwurf erfüllen.

**Brauche ich ein Scratch-Konto?**

Nein. Wenn Sie länger mit Scratch arbeiten möchten, kann sich ein Konto lohnen: Damit können Sie Ihre Projekte auf den Scratch-Servern speichern und im Internet veröffentlichen.

## Speichern

Wählen Sie am Ende ein letztes Mal **Datei > Auf deinem Computer speichern**. Fragt Ihr Browser, ob Sie die Datei **Öffnen** oder **Speichern** möchten, klicken Sie auf **Speichern**. Die `.sb3`-Datei ist Ihr Projekt; abgeben müssen Sie sie nicht.
