Variablen
Variablen sind Platzhalter mit zugewiesenen Werten, die während des Programmablaufs vom Benutzer oder von einem Skript verändert werden können. Diese zugewiesenen Werte können numerisch oder alphanumerisch sein. Numerisch bedeutet, dass nur reelle Zahlen verwendet werden. Alphanumerisch sind alle denkbaren Zeichen. In anderen Programmiersprachen wird bei numerischen Werten zwischen Ganzzahlen (Integer) und Gleitkommazahlen (Real) unterschieden, wobei Integer und Real auch noch weiter unterteilt werden. Diese Unterteilung hängt mit dem zur Speicherung des Wertes notwendigen Speichbedarf ab. Alphanumerische Werte sind Zeichenkette variabler Länge, die in anderen Programmiersprachen als String bezeichnet werden. Wenn eine neue Variable in Scratch erstellt wird, muss nur angegeben werden, ob diese Variable lokal oder global genutzt wird. Lokal bedeutet, diese Variable ist nur für ein bestimmtes Objekt gültig. Globale Variablen sind für alle benutzten Objekte gültig. Hat man z.B. drei Objekte auf der Bühne, dann kann man für jedes Objekt eigene Variablen (lokal) definieren oder man definiert die Variablen so, dass sie für alle Objekte gelten (global). Einer Variablen kann ein Wert zugewiesen werden. Dies erfolgt durch den Block
Ein zweiter Block in der Palette Variablen erlaubt es, numerische Werte um einen bestimmten Betrag zu erhöhen oder zu erniedrigen. Dies entspricht dem Inc oder Dec-Befehl anderer Programmiersprachen.
Variablen können auf der Bühne sichtbar gemacht werden. Dazu dienen zwei weitere Blockbefehle bzw. das Setzen eines Hakens neben dem Variablenamen. Auf der Bühne kann die Darstellung der Variable noch geändert werden. Dazu hat man die Wahl zwischen normaler Anzeige (hier wird der Name der Variablen und ihr aktueller Wert angezeigt), Großanzeige (hier wird nur der Wert angezeigt) und Schiebregler (hier kann man durch einen Slider den Wert der Variablen verändern).
Neben diesen klassischen Variablen kann der Nutzer auf weitere vom Programm bereitgestellte Werte zurückgreifen.
In vielen Paletten befinden sich Anweisungen, die es ermöglichen, direkt auf interne Werte zuzugreifen. Wichtig sind dabei Werte von Zeit und Datum, Position eines Objektes und Position des Mauszeigers.
Analog und Digitaluhr
Für dieses Projekt braucht man drei Zeigerobjekte und ein Bühnenbild. Uhrzeigerbilder findet man im Internet, die Zeiger kann man durch Veränderung vorhandener Objekt erzeugen.Alle Zeiger müssen auf die Position (0|0) gesetzt werden. Da die Zeiger sich in einem 360-Grad-Kreis bewegen, ist die Richtung des einzelnen Zeigers von der aktuellen Zeit abhängig. 360 Grad in 60 Minuetn bedeutet ein Winkeländerung von 6 Grad pro Minute, 360 Grad in 60 Sekunden ergeben ebenfalls eine Änderung von 6 Grad pro Sekunde, 360 Grad in 12 Stunden bedeutet eine Winkeländerung von 30 GHrad pro Stunde. Unten ist beispielhaft die Veränderung des Minutenzeigers angegeben. Für jeden Zeiger benötigt man ein eigenes Skript. Einmal angeklickt, läuft die Analoguhr.
Die Digitaluhr mit Datumsangabe funktioniert ähnlich. Einstellige Zeitangaben werden mit einer führenden Null angegeben. Um dies zu erreichen wird der Blockbefehl verbinde ( ) und ( ) verwendet. Er ermöglicht die alphanumerische Verbindung von Zahlen und Zeichen.