Aus Das deutschsprachige Scratch-Wiki
![]() |
Dieser Artikel (oder Abschnitt) ist noch sehr kurz (oder unvollständig!). Hilf mit, ihn ausführlicher zu gestalten, indem du Informationen, Bildmaterial oder Texte hinzufügst. |
Mit diesem Tutorial kann man programmieren, wie man den Listeninhalt als Zahlen in einer Variable speichert.
Funktion
Dieses Tutorial hat eigentlich doch eine ganz nützliche Funktion: Wenn man ein Speicher-Skript in seinem Projekt hat, aber die Liste viele Inhalte enthält, dann muss man halt diese Methode nutzen. Dieses Tutorial ist sehr schwer zu programmieren, aber dafür sehr leicht zu verstehen, sodass es lieber nur Profis machen sollten. (Dies heißt aber nicht, dass keine neuen Scratcher dieses Tutorial machen dürfen.)
Erforderliche Materialien
Die folgenden Materialien sind für dieses Tutorial erforderlich:
- mind. 1 Liste
(abc::list)
- mind. 1 Variable
(Listenspeicherung)
oder(Listenspeicherung-abc)
- mind. 1 Figur oder die Bühne
- Die untenstehenden Skripte
Skripte
Beispiel: Ein Projekt enthält eine Liste namens "abc" mit den Inhalten a, b und c. Diese sollen nun in der Variable "Listenspeicherung" als Zahlen gespeichert werden. Dafür müssen die folgenden Skripte zusammengebaut werden.
Erstes Skript
Wenn die grüne Flagge angeklickt lösche alles aus [abc v] falls <nicht <<<[abc v] enthält (a)?> und <[abc v] enthält (b)?>> und <[abc v] enthält (c)?>>>, dann füge [a] bei (1) in [abc v] ein füge [b] bei (2) in [abc v] ein füge [c] bei (3) in [abc v] ein sende [Umwandeln v] an alle
Zweites Skript
Wenn ich [Umwandeln v] empfange ersetze Element (a v) von [abc v] durch (1) ersetze Element (b v) von [abc v] durch (2) ersetze Element (c v) von [abc v] durch (3) sende [Einsetzen v] an alle
Letztes Skript
Wenn ich [Einsetzen v] empfange setze [Listenspeicherung v] auf (verbinde (verbinde (Element (1 v) von [abc v]) und [,]) und (verbinde (Element (2 v) von [abc v]) und (verbinde [,] und (verbinde (Element (3 v) von [abc v]) und [,])))) zeige Variable [Listenspeicherung v]
Mehrere Listen
Dieses Tutorial funktioniert auch mit mehreren Listen. Möchte man jetzt zusätzlich auch noch den Inhalt der Liste "123" speichern, dann muss man noch eine Variable mit dem Namen "Listenspeicherung 2" oder "Listenspeicherung-123" erstellen, da er doppelte Variablennamen nicht akzeptiert und die obenstehenden Skripte wiederholen (also ohne den Wiederholungsblock), sondern die Skripte nochmal neu zusammenbauen. Man kann auch eine Figur erstellen und dann die Listenspeichervariable privat (manche nennen es auch "lokal") (also nur für die Figur selbst) machen. Dies (also das mit der lokalen Variable) funktioniert NICHT mit der Bühne, da man mit der Bühne Variablen nur für alle Figuren erstellen kann.
Cloud-Variable
Dies kann man auch mit einer Cloud-Variable machen, man muss nur prüfen, ob hinter einer Variable das Cloud-Zeichen (☁) steht, dann ist diese Variable nämlich eine Cloud-Variable und der in Zahlen umwandelte Listeninhalt in der Cloud-Variable wird nun auf dem Scratch-Server gespeichert. So kann man ihn dann nächstes mal dann wieder vom Scratch-Server herunterladen.
wichtige Hinweise
- Man muss dies nicht mit der Liste "abc" und der Variable "Listenspeicherung" machen, sondern dies funktioniert auch mit jeder beliebigen Liste und jeder beliebigen Variable und sogar auch mit mehreren Listen und mehreren Variablen. Denn der obenstehende Text mit den Skripten soll ja nur ein Programmierbeispiel sein.
- Dieses Tutorial funktioniert erst ab der Scratch-Version 1.3, da erst in dieser Version Listen eingeführt wurden.
- Für dieses Tutorial sind sehr gute Scratch-Kenntnisse erforderlich, da dies ein sehr schweres Tutorial ist. Deshalb ist es eher auch nur für Profis geeignet. Das heißt aber nicht, dass es keine neuen Scratcher machen sollten.
- Man muss darauf achten, dass man die Blöcke richtig zusammenbaut (also so, wie die Blöcke auch da oben stehen), denn sonst funktioniert das Skript bzw. Tutorial nicht (richtig).
- Da in eine Liste maximal nur 200.000 Elemente passen, funktionieren die oben genannten Tutorials nur 200.000 mal.
[wiki=de:Listeninhalt als Zahlen in Variablen speichern]Listeninhalt als Zahlen in Variablen speichern[/wiki]