Das lernst du heute
- Pins durch lbn/sbn ersetzen
- Zahlen in defines verschieben
- Verhalten unverändert lassen
Im Labor hängt ein Chip, den jemand vor Monaten geschrieben hat. Er funktioniert, aber niemand traut sich, ihn anzufassen. Dazu kommt: Das Labor wird umgebaut, und die Geräte sollen künftig über Namen statt über Pins angesprochen werden. Heute baust du ihn um – und das Wichtigste dabei ist, dass er danach genau dasselbe tut.
Der alte Code
start:
yield
l r0 d0 Temperature
slt r1 r0 291.15
s d1 On r1
sgt r2 r0 297.15
s d2 On r2
sub r3 r0 273.15
s d3 Setting r3
j 1
Was er tut: Unter 18 °C läuft die Heizung, über 24 °C der Kühler, und die Anzeige zeigt die Temperatur in °C.
Die neuen Geräte
| alt | Gerät | Name im Netz |
|---|---|---|
d0 | Gas-Sensor | „Labor“ |
d1 | Wandheizung | „Laborheizung“ |
d2 | Wandkühler | „Laborkuehler“ |
d3 | LED-Anzeige | „Labortemp“ |
Vorgehen
- Kopf und Abschnitte anlegen.
- Für jeden Gerätetyp ein define mit
HASH("Prefab")und Kommentar. - Die drei Zahlen in defines: 291,15 K (18 °C), 297,15 K (24 °C), 273,15 als
CELSIUSOFFSET. - Jedes Register bekommt einen alias.
lundsmit Pins werden zulbnundsbnmitHASH("Name"), BatchmodusAverage.j 1wirdj start.
Nach jedem Schritt die Tests laufen lassen. Ein Umbau, der zwischendurch grün bleibt, ist ein sicherer Umbau.
Teilziele
- Kalt: Heizung an.
- Warm: Kühler an.
- Die Anzeige zeigt °C.
- Im Band zwischen 18 und 24 °C: beides aus.
Der Prüfer zeigt dir Pins, rohe Register und Zeilensprünge an, wenn du im Reiter „Prüfer“ die Stil-Hinweise einschaltest. Arbeite die Liste ab, bis sie leer ist.
Gerätenamen nur in ASCII: „Laborkuehler“, nicht „Laborkühler“. Mit Umlaut passt der Hash nicht zum Namen, den du im Spiel vergeben hast.
Schaubild
Projektaufgabe
Aufgabe
Bau den Laborchip in den Werkstatt-Stil um, ohne das Verhalten zu ändern:
- Geräte über
lbn/sbnmit den Namen „Labor“, „Laborheizung“, „Laborkuehler“, „Labortemp“ – keine Pins. - Keine der Zahlen 291.15, 297.15, 273.15 im Rumpf, alles in defines.
- alias für jedes Register, Sprung auf ein Label.
Prefabs: StructureGasSensor, StructureWallHeater, StructureWallCooler, StructureConsoleLED5.
Teilziele
- Teilziel 1: Kalt – Heizung an
- Teilziel 2: Warm – Kühler an
- Teilziel 3: Anzeige in °C
- Teilziel 4: Im Band beides aus
Hinweise
Hinweis 1
Vier Prefab-defines, drei Zahlen-defines – dann ist der Rumpf frei von Zahlen.
Hinweis 2
l r0 d0 Temperature wird lbn temp SENSOR HASH("Labor") Temperature Average.
Hinweis 3
s d1 On r1 wird sbn HEIZUNG HASH("Laborheizung") On heizen.
Quiz
2 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Alle Teilziele des Projekts bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden