stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 82

Tag 82 von 365 · Einsteiger · Monat 3: Erste Systeme

Verriegelung: nie beide offen

Zwei Türen, ein Vorraum: Jede Tür öffnet nur, wenn die andere zu ist. Vorrang regelt den Gleichstand, und ohne Messwert bleiben beide zu.

Lektion 15 Min. Woche 12

Das lernst du heute

  • Zwei Türen gegenseitig sperren
  • Vorrang festlegen
  • Sicherer Grundzustand

Zwei Türen, ein Vorraum: Die eine führt in die Werkstatt, die andere nach draußen in den Staubsturm. Stehen beide gleichzeitig offen, weht der Sturm bis an die Werkbank. Eine Verriegelung sorgt dafür, dass immer nur eine Tür offen sein kann.

Erst fragen, dann öffnen

Eine Tür darf nur öffnen, wenn die andere zu ist. Dafür liest der Chip den Zustand der anderen Tür, nicht den Wunsch:

lbn zuA TUER HASH("Aussentuer") Open Average
seqz zuA zuA                 # 1 = Aussentuer ist zu
and innen wunschI zuA        # innen nur, wenn aussen zu

seqz macht aus „offen = 0“ ein „zu = 1“. Fehlt die Außentür, ist ihr Wert NaN, seqz liefert 0, und die Innentür bleibt zu. Unbekannt zählt hier als offen, und das ist die sichere Seite.

Vorrang festlegen

Was, wenn beide Wünsche im selben Takt kommen? Ohne Regel lesen beide Türen „die andere ist zu“ und öffnen gleichzeitig. Darum bekommt eine Tür Vorrang:

seqz tmp wunschI
and aussen wunschA tmp       # aussen nur, wenn innen nichts will
and aussen aussen zuI

Hier gewinnt die Innentür. Wer drinnen steht, soll nicht vor einer geschlossenen Tür warten.

Sperren gegen Handbetrieb

Spieler können eine Tür auch von Hand öffnen. Lock verhindert das. Schreib Lock = 1 auf jede Tür, die gerade nicht offen sein darf:

seqz tmp innen
sbn TUER HASH("Innentuer") Lock tmp

Sicherer Grundzustand

Ohne Wunsch, nach dem Neustart und bei jedem fehlenden Wert gilt: beide Türen zu und gesperrt. Bau jede Regel so, dass ein fehlender oder unbekannter Wert genau dorthin führt.

Achtung

Lies immer den Zustand der anderen Tür, nie nur den Wunsch dazu. Beim Wechsel von innen nach außen schließt die Innentür in einem Takt, und erst im nächsten Takt meldet sie „zu“. Erst dann darf die Außentür öffnen.

Tipp

Eine Tür braucht im Spiel einen Moment, bis sie wirklich zu ist. Wer ganz sicher gehen will, gibt die andere Tür erst nach ein paar Takten frei. Die Einschaltverzögerung aus Tag 80 erledigt das.

Übung

Aufgabe

Zwei Hebel „Innen“ und „Aussen“ (StructureLogicSwitch, Wert Open) sind die Wünsche. Die Türen heißen „Innentuer“ und „Aussentuer“ (StructureCompositeDoor).

  • Eine Tür öffnet nur, wenn ihr Hebel an ist und die andere Tür zu ist (Zustand lesen).
  • Wollen beide gleichzeitig, hat innen Vorrang.
  • Jede Tür, die nicht offen ist, bekommt Lock = 1.
  • Fehlt eine Tür oder ein Hebel, öffnet nichts Unsicheres.

Hinweise

Hinweis 1

Wünsche: lbn … Open Average, dann sgtz – fehlender Hebel heißt „will nicht“.

Hinweis 2

Türzustand: lbn … Open Average, dann seqz – NaN ergibt 0, also „nicht zu“.

Hinweis 3

Innen: and innen wunschI zuA. Außen: Wunsch UND nicht wunschI UND zuI.

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

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall