Das lernst du heute
- Ausrichten
- Signalstärke
- Kontakte erkennen
Ein Händler kreist irgendwo über der Basis, aber die Schüssel zeigt in die falsche Richtung. Laut Stationpedia kann man mit einer Satellitenschüssel Handelsschiffe in der Nähe kontaktieren – zusammen mit einem Computer mit Kommunikations-Motherboard, einem Landeplatz und einem Lagerautomaten. Ausrichten lässt sie sich von Hand oder über Logik. Das übernimmt heute der Chip.
Die Werte der Schüssel
| LogicType | lesen/schreiben | Bedeutung laut Spiel |
|---|---|---|
Horizontal, Vertical | lesen und schreiben | Ausrichtung der Schüssel |
SignalStrength | lesen | Winkelabweichung zum stärksten Kontakt in Grad |
SignalID | lesen | ID des stärksten Kontakts |
WattsReachingContact | lesen | Leistung, die beim Kontakt ankommt – sinkt, je weiter die Schüssel danebenzeigt |
MinimumWattsToContact | lesen | Mindestleistung für den Kontakt |
InterrogationProgress | lesen | Fortschritt der Abfrage des aktuellen Ziels, 0 bis 1 |
ContactTypeId | lesen | Art des Kontakts |
BestContactFilter | lesen und schreiben | beschränkt die automatische Zielwahl auf eine ReferenceId |
Es gibt die Schüssel klein, mittel und groß (StructureSmallSatelliteDish, StructureSatelliteDish, StructureLargeSatelliteDish), alle mit denselben Werten.
SignalStrength klingt nach Stärke, ist aber eine Abweichung: Kleiner ist besser. Die eigentliche Stärke steckt in WattsReachingContact.
Ausrichten
Die Schüssel sagt dir nicht, in welche Richtung der Kontakt liegt, nur wie gut sie gerade trifft. Ein Suchlauf hilft: Winkel um einen Schritt weiterdrehen, messen, den besten Winkel merken. Das ist die lineare Suche aus der Algorithmenwoche:
add winkel winkel SCHRITT
mod winkel winkel 360
sbn SCHUESSEL HASH("Schuessel") Horizontal winkel
sleep 2 # der Schuessel Zeit zum Drehen geben
lbn watt SCHUESSEL HASH("Schuessel") WattsReachingContact Average
sgt tmp watt bester
select bestWinkel tmp winkel bestWinkel
max bester bester watt
Nach einer vollen Runde stellst du die Schüssel auf bestWinkel und verfeinerst mit kleineren Schritten. Gib ihr nach jedem Schritt Zeit, bevor du misst – sie dreht sich nicht im selben Takt.
Kontakte erkennen
Ob ein Kontakt erreichbar ist, entscheidet der Vergleich WattsReachingContact ≥ MinimumWattsToContact. InterrogationProgress zeigt danach, wie weit die Abfrage ist. Eine Anzeige mit dem Fortschritt in Prozent und eine Lampe „Kontakt“ reichen, damit jeder in der Basis sieht, was die Schüssel gerade tut.
Übung
Aufgabe
Bau die Kontaktanzeige der Schüssel „Schuessel“. Die Lampe „Kontakt“ leuchtet, wenn WattsReachingContact mindestens MinimumWattsToContact erreicht. Das Blinklicht „Ausrichten“ blinkt, wenn die Abweichung über 5 Grad liegt. Die Anzeige „Fortschritt“ zeigt InterrogationProgress in Prozent. Fehlt die Schüssel: Kontakt aus, Ausrichten an, Anzeige -1.
Hinweise
Hinweis 1
Kontakt: sge tmp watt mindest – NaN ergibt 0, die Lampe geht von selbst aus.
Hinweis 2
Ausrichten: sgt tmp abw MAX_ABW, bei fehlender Schüssel mit select tmp ok tmp 1 erzwingen.
Hinweis 3
Fortschritt: mul mit 100, round, Fehlwert mit select.
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