Funktionen mit Parametern
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.