Kapitel 7 von 12

Funktionen mit Parametern

JavaScript
Parameter, flexible Funktionen
Minecraft-Projekt
Verschiedene Häuser
Lernziel
Eine Funktion wird so erweitert, dass Größe und Material beim Aufruf bestimmt werden können.

Eine gute Häuserfabrik kann kleine, große, hohe und verschiedenfarbige Häuser bauen.

Für Lehrkräfte: Erst die Aufgabe zeigen, dann das Problem gemeinsam besprechen und danach das neue JavaScript-Konzept einführen. So entsteht die Syntax aus einem sichtbaren Bauproblem.

Startcode

function haus(breite, hoehe, tiefe, material) {
    drone.box0(material, breite, hoehe, tiefe);
    drone.up(hoehe);
    drone.box("STONE_BRICKS", breite, 1, tiefe);
    drone.down(hoehe);
}

haus(5, 3, 5, "OAK_PLANKS");
drone.right(8);
haus(9, 5, 7, "BIRCH_PLANKS");

Schritt für Schritt

1. Parameter verstehen

Ändere nur die Werte beim Funktionsaufruf.

2. Dachmaterial

Füge einen fünften Parameter für das Dach hinzu.

3. Stadtbild

Baue eine Straße mit bewusst unterschiedlichen Häusern.

Challenge:

Erweitere `haus()` um einen Parameter `dach` und baue drei verschiedene Häuser.

Musterlösung

Die Musterlösung ist nur eine mögliche Lösung. Andere funktionierende Lösungen sind ausdrücklich erwünscht.

function haus(breite, hoehe, tiefe, material, dach) {
    drone.box0(material, breite, hoehe, tiefe);
    drone.up(hoehe);
    drone.box(dach, breite, 1, tiefe);
    drone.down(hoehe);
}

haus(5, 3, 5, "OAK_PLANKS", "STONE_BRICKS");
drone.right(8);
haus(7, 4, 7, "BIRCH_PLANKS", "BRICKS");
drone.right(10);
haus(9, 6, 8, "WHITE_CONCRETE", "QUARTZ_BLOCK");
Typische Fehler
  • Die Reihenfolge der Parameter beim Aufruf muss zur Funktionsdefinition passen.
  • Textparameter wie Materialnamen brauchen Anführungszeichen.
  • Zu kleine Abstände lassen Gebäude ineinander wachsen.