Das lernst du heute
- Ernte einsammeln
- Lager zählen
- Überlauf vermeiden
Der Harvie legt jede Ernte in seinen Export-Slot. Von dort geht sie über eine Rutsche weiter, im einfachsten Fall in einen Kühlschrank. Läuft der voll, staut sich alles bis zum Harvie zurück, und die nächste reife Pflanze kann nicht geerntet werden.
Der Weg der Ernte
- Der Harvie erntet, die Früchte landen in Slot 1 (Export).
- Über den Export-Anschluss gehen sie in eine Rutsche.
- Am Ende steht ein Lager: Kühlschrank (
StructureFridgeBig, 15 Slots) oder Spind (StructureStorageLocker, 30 Slots).
Ein Kühlschrank verlangsamt den Verfall von Essen. Für die Ernte ist er deshalb die bessere Wahl.
Lager zählen
Jeder Slot meldet Quantity (Stückzahl) und Occupied. Für die Summe über alle Slots gehst du mit einer Schleife durch die Slotnummern. lbns mit Sum addiert dabei jede Nummer über alle gleichnamigen Kühlschränke. Hier ist Sum richtig, denn Stückzahlen addieren sich wirklich.
move summe 0
move belegt 0
move idx 0
zaehlen:
lbns tmp KUEHL HASH("Vorrat") idx Quantity Sum
add summe summe tmp
lbns tmp KUEHL HASH("Vorrat") idx Occupied Sum
add belegt belegt tmp
add idx idx 1
blt idx SLOTS zaehlen
15 Durchläufe mit sechs Befehlen sind 90 Befehle, das passt in einen Takt. Bei einem Spind mit 30 Slots wären es 180. Dann verteilt sich die Schleife von selbst auf zwei Takte, weil der Chip nach 128 Befehlen unterbricht. Werte das Ergebnis deshalb immer erst nach der Schleife aus.
Überlauf vermeiden
Occupied mit Sum zählt die belegten Slots. Sind alle belegt, ist das Lager voll – genauer: fast voll, denn ein Stapel kann noch wachsen. Für den Harvie reicht eine einfache Regel:
- Lager voll oder Export-Slot des Harvie belegt → Harvie aus, Lampe an.
- Ein belegter Export-Slot heißt: Die Rutsche nimmt nichts mehr ab.
sge stopp belegt KAPAZ # alles belegt
lbns tmp ERNTER HASH("Ernter") 1 Occupied Average # Export voll?
sgtz tmp tmp
or stopp stopp tmp
Sum liefert ohne passendes Gerät 0, nicht NaN. Ein abgebauter Kühlschrank sieht dann aus wie ein leerer – und der Harvie erntet ins Nichts. Prüfe die Anwesenheit getrennt, zum Beispiel mit PrefabHash und Average: Das ergibt ohne Gerät NaN.
Zwei gleichnamige Kühlschränke haben zusammen 30 Slots, die Schleife läuft aber weiter nur über die Nummern 0 bis 14 – lbns addiert jede Nummer über beide. Deshalb zwei defines: SLOTS für die Schleife, KAPAZ für die Gesamtzahl.
Schaubild
Übung
Aufgabe
Der Harvie „Ernter“ liefert in den Kühlschrank „Vorrat“ (15 Slots). Schreibe einen Chip, der jeden Takt:
- alle 15 Slots zählt und die Gesamtstückzahl auf der Anzeige „Vorrat“ zeigt
- den Harvie ausschaltet und die Lampe „Lager“ einschaltet, wenn alle Slots belegt sind, der Export-Slot 1 des Harvie belegt ist oder der Kühlschrank fehlt
- sonst den Harvie einschaltet und die Lampe aus
- ohne Kühlschrank −1 anzeigt
Hinweise
Hinweis 1
Schleife mit idx von 0 bis 14, darin zwei lbns … Sum für Quantity und Occupied.
Hinweis 2
Voll: sge stopp belegt KAPAZ. Stau: lbns auf Slot 1 des Harvie.
Hinweis 3
Anwesenheit: lbn tmp KUEHL HASH("Vorrat") PrefabHash Average und snan.
Quiz
4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator 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