Befehle definieren

Befehle dienen zur Ausführung von Anweisungen in Abhängigkeit von Argumenten bzw. Parametern: Der Befehl Canvas.circle(x,y,r) beispielsweise dient zum Zeichnen eines Kreises in Abhängigkeit von Mittelpunkt und Radius.

Auch Funktionen dienen zur Ausführung von Anweisungen in Abhängigkeit gewisser Parameter, wobei nun ein Wert (bzw. ein Wert einer Variablen) zurückgegeben wird: Die Funktion random(a,b) beispielsweise generiert eine Zufallszahl zwischen a und b und gibt diese als Wert einer Variable vom Datentyp Zahl zurück.

Wir wollen nun lernen, wie eigene Befehle und Funktionen definiert werden können.

Definition von Befehlen

Befehle werden (genau wie Funktionen) mittels Schlüsselwort function definiert. Es folgen die (verpflichtenden) Argumente in runden Klammern, wobei es sich dabei um Variablen der bekannten Datentypen handelt. Der Block von Anweisungen wird in geschweiften Klammern zusammengefasst.

Der Einfachheit halber verzichten wir bei der eigenen Definition von Befehlen und Funktionen bewusst auf optionale Parameter und beschränken uns daher zunächst auf eine jeweils feste Anzahl an verpflichtenden Argumenten.

Beispiel
Es wird ein Befehl definiert, welcher drei Kreise in Abhängigkeit von x- und y-Koordinaten zeichnet. Anschließend wird der Befehl vier Mal mit jeweils unterschiedlichen Argumenten aufgerufen.
Beispiel
Ein Befehl, um einen Smiley in Abhängigkeit von x- und y-Koordinaten zu zeichnen.
Aufgabe

Mache dich mit dem Quellcode zuvor vertraut. Erweitere den Befehl smiley, sodass auch die Farbe des Smileys als zusätzliches Argument übergeben wird. Teste den Befehl, indem mindestens drei Smileys mit jeweils unterschiedlichen Farben an unterschiedlichen Positionen gezeichnet werden.

Beispiel
Ein Befehl, um einen Stern in Abhängigkeit von x- und y-Koordinaten zu zeichnen.
Aufgabe

Mache dich mit dem Quellcode zuvor vertraut. Zeichne einen Sternenhimmel, indem etwa 100 Sterne zufällig auf der Zeichenfläche mit jeweils zufälligen Größen gezeichnet werden. Verwende dazu eine Schleife sowie die Funktion random-Funktion.

Quiz
Funktionen definieren