Vollständiges Nachschlagewerk
Alle 34 Befehle – ohne Rätselraten.
Jede Karte erklärt nicht nur Syntax und Kosten, sondern auch genaue Wirkung, Ergebnisfluss, taktischen Einsatz und typische Fehler. Tippe einen Befehl an, um alle Details zu öffnen.
- 34
- Befehle
- 7
- Kategorien
- 200
- max. Zeilen
GeheWenn verbraucht genau ein frisches Ergebnis des unmittelbar vorherigen prüfbaren Befehls. Auswahl, Rotation, Warten oder ein anderer Steuerbefehl dazwischen machen das Ergebnis ungültig.
05 Befehle
Wachstum
WachseErzeugt genau einen Cube in einer fest gewählten Richtung.4 Units
wachse(richtung: .xPlus)Ausgehend vom aktiven Cube wird ausschließlich das direkte Nachbarfeld in der angegebenen Achsenrichtung geprüft. Ist es frei, entsteht dort ein eigener Cube und dieser wird aktiv. Rand und belegte Felder stoppen den Versuch; der Befehl weicht niemals selbstständig aus.
Parameter
- richtung: eine der sechs Achsenrichtungen xPlus, xMinus, yPlus, yMinus, zPlus oder zMinus.
Ergebnis
Liefert ein frisches Ergebnis wie frei, blockiert, Rand, eigener Cube, Gegner-Cube oder Gegnerkern. Ein direkter Kernkontakt gewinnt sofort.
Taktischer Einsatz
Ideal für exakt geplante Arme, Raster und kontrollierte Vorstöße, bei denen jede Richtung bewusst festgelegt ist.
Typischer Fehler
Nach einer Blockade bleibt die Vorzugsrichtung unverändert. Für automatisches Ausweichen zuerst FindeFreieRichtung verwenden.
prüfeNachbar(richtung: .xPlus)
geheWenn(.frei, zu: .vorstoß)
.vorstoß:
wachse(richtung: .xPlus)WachseWennFreiPrüft und wächst atomar auf das erste wirklich freie Zielfeld.5 Units
wachseWennFrei()Mit einer angegebenen Richtung wird ausschließlich dieses Nachbarfeld geprüft. Ohne Richtung beginnt die Suche in der Vorzugsrichtung und läuft danach deterministisch durch die übrigen Nachbarn. Der erste freie Kandidat wird gebaut und als neue Vorzugsrichtung gespeichert. Belegte Felder werden weder angegriffen noch übernommen; ein Kernkontakt kann mit diesem Befehl keinen Sieg auslösen.
Parameter
- richtung: optional; mit Angabe strikt, ohne Angabe automatische Suche ab der Vorzugsrichtung.
Ergebnis
Meldet Erfolg mit neuem Cube oder blockiert, wenn kein zulässiges freies Feld gefunden wird. Direkt mit GeheWenn auswertbar.
Taktischer Einsatz
Ohne Parameter ein kompakter, sicherer Ausweichschritt; mit Richtung gut für exakt geplante Rasterlinien.
Typischer Fehler
Der Befehl wächst nur in leeren Raum. Für Gegnerkontakt anschließend ÜbernehmeGegnerCube verwenden.
wachseWennFrei()
geheWenn(.blockiert, zu: .neueRoute)WachseZumMarkerNähert sich dem gewählten Raumziel um genau einen Achsenschritt.6 Units
wachseZumMarker()Der größte Abstand zum gespeicherten Marker bestimmt die Achse des nächsten Schritts. Bei Wrap-Around wird der kürzere gültige Weg berücksichtigt. Ist der Marker bereits erreicht, meldet der Befehl Erfolg, ohne einen unnötigen Cube zu bauen.
Parameter
- marker: optionaler Slot 1 bis 5. Ohne Angabe wird der zuletzt aktive Marker verwendet; Slots 4 und 5 benötigen die Speichererweiterung.
Ergebnis
Erfolg, Blockade, Rand oder fehlender/gesperrter Marker; direkt mit GeheWenn nutzbar.
Taktischer Einsatz
Für Rückkehrpunkte, Patrouillen und Routen zwischen Suchfront und sicherem Ausgangsbereich.
Typischer Fehler
Ohne gültigen aktiven Marker bleibt die Struktur unverändert. NutzeMarker ist nur noch für ältere Programme nötig, die bewusst zwischen Zielen wechseln.
setzeMarker(marker: 1, richtung: .yPlus, reichweite: 4)
// später
wachseZumMarker()WachseVorzugsrichtungWächst günstig in der gespeicherten Vorzugsrichtung.3 Units
wachseVorzugsrichtung()Verwendet exakt den aktuellen Richtungswert, der etwa durch Signalsuche, Scan, SetzeRichtung oder FindeFreieRichtung entstanden ist. Der Befehl ist bewusst einfach und weicht bei Rand oder Blockade nicht aus.
Parameter
- Keine Parameter.
Ergebnis
Meldet den Wachstumserfolg oder die konkrete Blockade und liefert damit ein frisches Prüfergebnis.
Taktischer Einsatz
Der zentrale Anschluss nach SucheStärkstesSignal oder FindeFreieRichtung.
Typischer Fehler
Eine alte oder durch Rotation veränderte Vorzugsrichtung kann vom erwarteten Scanweg abweichen.
sucheStärkstesSignal()
prüfeRichtung(reichweite: 6)
wachseVorzugsrichtung()WachseZufälligWählt zufällig eines der aktuell freien direkten Nachbarfelder.5 Units
wachseZufällig()Beim Abschluss werden alle sechs Nachbarn des aktiven Cubes betrachtet. Aus den freien Kandidaten wird genau einer zufällig gewählt. Dadurch entstehen abwechslungsreiche Strukturen, aber keine reproduzierbare Route.
Parameter
- Keine Parameter.
Ergebnis
Erfolg mit neuem aktiven Cube oder blockiert, wenn kein Nachbar frei ist.
Taktischer Einsatz
Geeignet für breite Exploration, Zufallsgegner und Massentests gegen zu starre Strategien.
Typischer Fehler
Zufall erschwert Debugging und garantiert keine Annäherung an ein Signal.
wähleNeuesten()
wachseZufällig()
prüfeUmfeld(radius: 1)05 Befehle
Sensorik
PrüfeNachbarUntersucht exakt eine angrenzende Zelle – günstig und eindeutig.2 Units
prüfeNachbar(richtung: .xMinus)Der Sensor schaut ein Feld weit und unterscheidet freie Zelle, eigene Struktur, Gegner, Gegnerkern, Kernaura, neutralen Cube, Item, Rand und Blockade. Gegnerfunde aktualisieren die Vorzugsrichtung.
Parameter
- richtung: optional; ohne Angabe wird die Vorzugsrichtung geprüft.
Ergebnis
Immer ein frisches Sensorergebnis. Ein direkt gefundener Gegnerkern beendet das Match.
Taktischer Einsatz
Im Nahkampf oft effizienter und genauer als ein teurer Umfeldscan.
Typischer Fehler
Mehrere Nachbarprüfungen hintereinander überschreiben jeweils das vorherige Ergebnis; GeheWenn muss direkt folgen.
prüfeNachbar(richtung: .zMinus)
geheWenn(.gegnerKern, zu: .angriff)PrüfeRichtungScannt einen geraden Strahl bis zum ersten belegten Feld.2 + Reichweite
prüfeRichtung(richtung: .xPlus, reichweite: 6)Vom aktiven Cube aus wird Feld für Feld bis zur Reichweite geprüft. Der Strahl stoppt am ersten eigenen, gegnerischen, neutralen oder Item-Cube und kann nicht hindurchsehen. Ohne Richtungsparameter wird die Vorzugsrichtung verwendet; Gegner- und Aurafunde speichern die Scanrichtung.
Parameter
- richtung: optional; Standard ist die Vorzugsrichtung.
- reichweite: 1 bis 8; Standard 4 und direkt kostenwirksam.
Ergebnis
Liefert den wichtigsten ersten Strahltreffer. Ein sichtbarer Gegnerkern gewinnt sofort.
Taktischer Einsatz
Nach SucheStärkstesSignal zur Bestätigung der groben Achse oder als günstiger Korridorscan.
Typischer Fehler
Eine große Reichweite kostet vollständig, auch wenn der Strahl früh blockiert wird. Eigene Cubes können die Sicht versperren.
sucheStärkstesSignal()
prüfeRichtung(reichweite: 8)
geheWenn(.kernAura, zu: .nahkampf)PrüfeUmfeldUntersucht ein rautenförmiges 3D-Nahfeld rund um den aktiven Cube.8 Units (Radius 1) / 20 Units (Radius 2)
prüfeUmfeld(radius: 2)Radius 1 umfasst die sechs direkten Nachbarn; Radius 2 ergänzt alle Nahfelder mit Manhattan-Abstand zwei. Das Ergebnis folgt einer festen Priorität: Gegnerkern, Kernaura, Gegner-Cube, Item, neutraler Cube, eigener Cube, freies Feld.
Parameter
- radius: 1 oder 2. Radius 2 ist deutlich teurer, deckt aber wesentlich mehr Raum ab.
Ergebnis
Ein frisches priorisiertes Ergebnis; ein gefundener Gegnerkern gewinnt sofort.
Taktischer Einsatz
Radius 1 für Nahkampf und Kontaktfronten, Radius 2 als gezielter breiter Scan – nicht in jeder Schleife.
Typischer Fehler
Das Ergebnis nennt den wichtigsten Fund, nicht eine vollständige Liste aller Zellen.
prüfeUmfeld(radius: 1)
geheWenn(.neutralerCube, zu: .sammeln)PrüfeKörperkontaktMeldet neue oder zum Kern vorrückende Feindkontakte an der gesamten eigenen Struktur.12 Units
prüfeKörperkontakt()Der Sensor prüft jede direkte gemeinsame Fläche zwischen eigener und gegnerischer Struktur und speichert die eigene Kontaktstelle mit der geringsten Entfernung zum Kern. Ein neuer oder kernnäherer Kontakt liefert .körperKontakt. Unveränderte äußere Fronten erzeugen danach keinen neuen Alarm. In einer Entfernung bis drei bleibt .kernGefahr bei jedem Scan dringend. Aktiver Cube und Vorzugsrichtung ändern sich nicht.
Parameter
- Keine Parameter.
Ergebnis
.körperKontakt bei neuem oder näherem Kontakt, .kernGefahr im Kernschutzbereich oder blockiert ohne relevanten Fund.
Taktischer Einsatz
Am Anfang einer Schleife eingesetzt, erkennt der Befehl Angriffe auf entfernte Strukturäste, ohne die aktuelle Angriffsfront zu verschieben.
Typischer Fehler
Der Scan aktiviert die gespeicherte Kontaktstelle nicht. Dafür muss im Abwehrzweig AktiviereKontaktstelle folgen.
prüfeKörperkontakt()
geheWenn(.körperKontakt, zu: .abwehr)
.abwehr:
aktiviereKontaktstelle()VerfolgeGegnerstrukturMerkt sich eine bestätigte Bresche 96 Units lang und folgt der Gegnerstruktur lokal nach innen.4 Units
verfolgeGegnerstruktur()Voraussetzung ist ein echter Gegnerfund, Körperkontakt oder eine erfolgreiche Übernahme. Dieses Verfolgungswissen bleibt 96 Units erhalten, selbst wenn ein Flankenbefehl das letzte Sensorergebnis ersetzt. Der aktive Cube muss weiterhin direkt an Gegnerstruktur liegen. Dann wählt der Befehl eine Richtung tiefer in den verbundenen Körper und vermeidet nach Möglichkeit ein noch stabilisiertes Ziel. Er übernimmt selbst keinen Cube und verrät den Kern nicht.
Parameter
- Keine Parameter.
Ergebnis
Gegner-Cube mit aktualisierter Vorzugsrichtung oder blockiert bei verlorenem lokalen Anschluss.
Taktischer Einsatz
Direkt nach einer erfolgreichen Übernahme in einer Jagdschleife verwenden, um einen gegnerischen Ast ohne erneute Fernsuche weiter abzubauen.
Typischer Fehler
Gespeichertes Wissen ersetzt keinen direkten Kontakt. Wurde der aktive Cube verlagert, liefert der Befehl blockiert.
.jagd:
verfolgeGegnerstruktur()
geheWenn(.blockiert, zu: .flanke)
übernehmeGegnerCube()
geheWenn(.gegnerCube, zu: .jagd)03 Befehle
Strukturen
ÜbernehmeGegnerCubeÜbernimmt einen Gegner-Cube direkt neben dem aktiven eigenen Cube.8 Units
übernehmeGegnerCube()Der Angriff beginnt ausschließlich am aktiven eigenen Cube und nutzt optional eine feste Richtung, sonst die Vorzugsrichtung. Der übernommene Cube wird aktiv und ist für 12 Units gegen sofortige Rückübernahme stabilisiert. Ein geschütztes Ziel meldet blockiert. Wird der Gegnerkern getroffen, endet das Match; vom gegnerischen Kern getrennte Strukturteile werden neutral.
Parameter
- richtung: optional; legt die genaue Nachbarseite fest, sonst gilt die Vorzugsrichtung.
Ergebnis
Gegner-Cube, Gegnerkern oder blockiert. Erfolg hält den aktiven Punkt an der neuen Kontaktfront.
Taktischer Einsatz
Nach AktiviereKontaktstelle räumt der Befehl eine fern entdeckte Kontaktfront lokal. VerfolgeGegnerstruktur hält danach die bestätigte Bresche aktiv.
Typischer Fehler
Der Befehl durchsucht nicht mehr automatisch die gesamte eigene Struktur. Ohne passenden aktiven Kontaktpunkt findet er kein entferntes Ziel.
aktiviereKontaktstelle()
übernehmeGegnerCube()
geheWenn(.gegnerCube, zu: .jagd)ÜbernehmeNeutralenCubeBindet einen angrenzenden neutralen Cube in die eigene Struktur ein.4 Units
übernehmeNeutralenCube(richtung: .yPlus)Alle eigenen Kontaktflächen werden nach neutralen Cubes durchsucht. Exakt gescannte Ziele, Nähe zum Scanpunkt, optionale Richtung und Nähe zum aktiven Cube bestimmen die Auswahl. Der übernommene Cube wird aktiv.
Parameter
- richtung: optional; lenkt die Auswahl, ist aber kein zwingender Einzelkontakt.
Ergebnis
Erfolg mit aktivem neuen Strukturpunkt oder kein erreichbarer Neutral-Cube.
Taktischer Einsatz
Günstiger Ausbau an Stellen, an denen neutrale Cubes bereits wertvolle Raumpositionen besetzen.
Typischer Fehler
Ein Neutral-Fund im Umfeld genügt nur dann, wenn irgendein eigener Cube direkten Kontakt hat.
prüfeUmfeld(radius: 1)
geheWenn(.neutralerCube, zu: .sammeln)
.sammeln:
übernehmeNeutralenCube()ErweitereFrontFindet automatisch einen passenden Rand-Cube und erweitert dort die Struktur.8 Units
erweitereFront()Der Befehl bewertet die gesamte eigene Front, nicht nur den aktiven Cube. Er sortiert Kandidaten anhand der optionalen oder gespeicherten Richtung und baut genau auf einem wirklich freien Nachbarpunkt.
Parameter
- richtung: optionaler Schwerpunkt für die Frontsuche.
Ergebnis
Erfolg mit neuem Rand-Cube oder blockiert, wenn keine sichere Frontzelle frei ist.
Taktischer Einsatz
Robuster Netzausbau, wenn der aktive Cube eingekesselt ist oder mehrere Äste existieren.
Typischer Fehler
Die Automatik ist teuer und weniger vorhersehbar als ein gezielter Wachstumsschritt.
sucheStärkstesSignal()
erweitereFront()
übernehmeGegnerCube()10 Befehle
Auswahl & Richtung
SetzeRichtungSpeichert sofort eine neue Vorzugsrichtung.1 Unit
setzeRichtung(richtung: .zPlus)Ersetzt nur den Richtungswert. Aktiver Cube, Marker, Scanwissen und Struktur bleiben erhalten. Nachfolgende richtungstreue oder automatische Befehle können den neuen Wert verwenden.
Parameter
- richtung: eine der sechs 3D-Achsenrichtungen.
Ergebnis
Kein Sensorergebnis; ein zuvor frisches Ergebnis kann danach nicht mehr mit GeheWenn verwendet werden.
Taktischer Einsatz
Für feste Öffnungen, Richtungsphasen und reproduzierbare Testprogramme.
Typischer Fehler
Zwischen Sensor und GeheWenn darf SetzeRichtung nicht stehen, weil das Prüfergebnis verfällt.
setzeRichtung(richtung: .zPlus)
wachseVorzugsrichtung()DreheRichtungDreht die Vorzugsrichtung zyklisch durch den 3D-Raum.1 Unit
dreheRichtung(schritte: 1)Die sechs Achsenrichtungen besitzen eine feste Reihenfolge. Positive und negative Schritte drehen entgegengesetzt; nach dem Ende beginnt die Reihenfolge wieder von vorn. So entstehen Spiralen, Zickzackpfade und systematische Raumabtastungen.
Parameter
- schritte: -2 bis 2; Standard 1.
Ergebnis
Kein frisches Prüfergebnis; nur der gespeicherte Richtungswert ändert sich.
Taktischer Einsatz
Nach Blockaden rotieren oder in jedem Loop eine andere Achse scannen.
Typischer Fehler
Die Rotation hängt vom aktuellen Wert ab. Für einen absoluten Startpunkt zuerst SetzeRichtung verwenden.
prüfeRichtung(reichweite: 4)
dreheRichtung(schritte: 1)
geheZu(zu: .suche)FindeFreieRichtungSucht deterministisch einen freien Nachbarn und merkt seine Richtung.3 Units
findeFreieRichtung()Alle sechs direkten Nachbarn werden in einer festen Reihenfolge geprüft, beginnend mit der bisherigen Vorzugsrichtung. Der erste freie Kandidat gewinnt. Es entsteht noch kein Cube; der nächste Wachstumsschritt bleibt eine bewusste Entscheidung.
Parameter
- Keine Parameter.
Ergebnis
frei mit aktualisierter Vorzugsrichtung oder blockiert, wenn kein Nachbar frei ist.
Taktischer Einsatz
Die zuverlässigste Kombination ist FindeFreieRichtung direkt gefolgt von WachseVorzugsrichtung.
Typischer Fehler
Der Befehl baut selbst nichts. Ohne nachfolgenden Wachstumsschritt bleibt die Struktur unverändert.
findeFreieRichtung()
geheWenn(.blockiert, zu: .kern)
wachseVorzugsrichtung()SucheStärkstesSignalErmittelt die grobe Achsenrichtung des stärksten gegnerischen Signals.18 Units
sucheStärkstesSignal()Der Suchlauf speichert ausschließlich die dominante Achsenrichtung und zeigt sie 30 Spiel-Units lang am aktiven Cube. Innerhalb der Kernaura zeigt der Hinweis grob zum Kern, verrät aber weder eine exakte Position noch einen konkreten Cube. Ein echter Gegnerfund beendet den Hinweis.
Parameter
- Keine Parameter.
Ergebnis
Ein frischer Signal- oder Aura-Hinweis und eine neue Vorzugsrichtung. Der Befehl kann allein nicht gewinnen.
Taktischer Einsatz
Als teurer Wegweiser sparsam einsetzen und anschließend mit PrüfeRichtung oder Nahsensorik verifizieren.
Typischer Fehler
Das Signal ist keine Sichtlinie. Blindes Wachstum kann trotz richtiger Achse an Struktur oder Rand scheitern.
sucheStärkstesSignal()
geheWenn(.kernAura, zu: .nahkampf)
prüfeRichtung(reichweite: 8)AktiviereKontaktstelleWählt den eigenen Cube am zuletzt gespeicherten Körperkontakt aus.2 Units
aktiviereKontaktstelle()Der Befehl verwendet das letzte noch gültige Ergebnis von PrüfeKörperkontakt. Er setzt den eigenen Kontakt-Cube aktiv und richtet die Vorzugsrichtung auf den berührenden Gegner-Cube. Es wird weder gebaut noch angegriffen. Ist der Kontakt veraltet oder nicht mehr vorhanden, bleiben Auswahl und Richtung unverändert.
Parameter
- Keine Parameter.
Ergebnis
Erfolg mit aktivierter Kontaktstelle oder blockiert ohne gültigen gespeicherten Kontakt.
Taktischer Einsatz
Verbindet den globalen Körperscan mit einer lokalen Übernahme und erlaubt so schnelle Abwehr an entfernten Strukturästen.
Typischer Fehler
AktiviereKontaktstelle greift nicht an. ÜbernehmeGegnerCube muss danach separat ausgeführt werden.
prüfeKörperkontakt()
geheWenn(.körperKontakt, zu: .abwehr)
.abwehr:
aktiviereKontaktstelle()
übernehmeGegnerCube()WähleKernSetzt den eigenen Programmkern als aktiven Ausgangspunkt.1 Unit
wähleKern()Nur die aktive Auswahl ändert sich. Position und Zustand des Kerns, übrige Struktur, Marker, Richtung und Sensorwissen bleiben erhalten.
Parameter
- Keine Parameter.
Ergebnis
Kein Sensorergebnis.
Taktischer Einsatz
Startpunkt für Verteidigung, Marker am Kern und eine kontrollierte Kernverlagerung.
Typischer Fehler
Auswahlbefehle machen ein vorheriges Prüfergebnis für GeheWenn ungültig.
wähleKern()
setzeMarker(marker: 1, reichweite: 2)VerlagereKernVerschiebt den Programmkern atomar um ein Feld in Vorzugsrichtung.5 Units
verlagereKern()Ein freies Ziel wird zunächst eigener Cube und danach neuer Kern; ein bereits eigener Ziel-Cube wird direkt zum Kern. Der bisherige Kern bleibt als normaler Cube zurück. Gegner, neutrale Cubes und Rand blockieren die Verlagerung ohne Ausweichbewegung.
Parameter
- Keine Parameter.
Ergebnis
Erfolg oder konkrete Blockade; als frisches Ergebnis mit GeheWenn nutzbar.
Taktischer Einsatz
Erlaubt mobile, kleine Strukturen und erschwert dem Gegner, eine veraltete Kernposition anzugreifen.
Typischer Fehler
Die Bewegung folgt nur der Vorzugsrichtung. Vorher prüfen oder FindeFreieRichtung verwenden.
findeFreieRichtung()
verlagereKern()
löscheÄltesten()WähleNeuestenAktiviert den zuletzt erzeugten, noch vorhandenen eigenen Cube.1 Unit
wähleNeuesten()Die interne Erzeugungsreihenfolge entscheidet. Dadurch springt der Ausgangspunkt zuverlässig an die aktuelle Wachstumsspitze, auch wenn andere Befehle den aktiven Cube zwischendurch verändert haben.
Parameter
- Keine Parameter.
Ergebnis
Kein Sensorergebnis; nur die Auswahl ändert sich.
Taktischer Einsatz
Standardstart vieler Suchschleifen und direkter Anschluss nach Frontausbau.
Typischer Fehler
Der neueste Cube ist nicht zwingend der räumlich äußerste oder strategisch beste.
wähleNeuesten()
prüfeRichtung(reichweite: 6)WähleÄltestenAktiviert den ältesten noch vorhandenen Nicht-Kern-Cube.1 Unit
wähleÄltesten()Die Auswahl folgt dem Erzeugungsalter, schützt aber den Kern. Besteht die Struktur nur aus dem Kern, bleibt die bisherige Auswahl unverändert.
Parameter
- Keine Parameter.
Ergebnis
Kein Sensorergebnis.
Taktischer Einsatz
Hilfreich für Rückbau, Wartung alter Äste oder die Kontrolle der Strukturwurzel.
Typischer Fehler
Ältester bedeutet nicht automatisch sicher löschbar; Löschbefehle prüfen den Zusammenhang separat.
wähleÄltesten()
prüfeUmfeld(radius: 1)WähleÄußerstenAktiviert den eigenen Cube mit der extremsten Koordinate auf einer Achse.2 Units
wähleÄußersten(richtung: .xPlus)In Plusrichtung gewinnt der größte, in Minusrichtung der kleinste Achsenwert. Damit lässt sich unabhängig vom Erzeugungsalter gezielt eine äußere Front auswählen.
Parameter
- richtung: optional; legt Achse und Plus-/Minusseite fest. Ohne Angabe gilt die Vorzugsrichtung.
Ergebnis
Kein Sensorergebnis.
Taktischer Einsatz
Für systematische Raumkartierung und Seitenangriffe. Nach SucheStärkstesSignal wählt der Befehl ohne Parameter die signalzugewandte äußerste Front.
Typischer Fehler
Bei Gleichstand entscheidet die interne Reihenfolge; mehrere Cubes können dieselbe Extremkoordinate besitzen.
wähleÄußersten(richtung: .yMinus)
wachseWennFrei(richtung: .yMinus)04 Befehle
Programmsteuerung
GeheZuSpringt bedingungslos zu einer benannten Programm-Marke.1 Unit
geheZu(zu: .suche)Eine Sprungmarke steht direkt vor dem ersten Befehl ihres Bereichs, ist selbst kein Befehl und kostet keine Units. Der Editor hält Marke und Ziel beim Verschieben zusammen. Alte Programme mit numerischen Zeilenzielen bleiben kompatibel.
Parameter
- zu: eindeutiger Markenname; maximal 200 Programmzeilen.
Ergebnis
Der nächste ausgeführte Befehl ist der erste Befehl hinter der Zielmarke.
Taktischer Einsatz
Für klare Loops, getrennte Such-/Nahkampfphasen und das Überspringen alternativer Zweige.
Typischer Fehler
Fehlende, doppelte oder selbstreferenzierende Marken meldet die Live-Analyse. Ein Sprung macht Sensorergebnisse ungültig.
.suche:
sucheStärkstesSignal()
prüfeRichtung()
geheZu(zu: .suche)GeheWennVerzweigt einmalig anhand des frischen Ergebnisses des direkt vorherigen Befehls.1 Unit
geheWenn(.kernAura, zu: .nahkampf)Nur Befehle mit auswertbarem Ergebnis können GeheWenn vorbereiten. Das Ergebnis wird bei dieser Prüfung verbraucht – unabhängig davon, ob die Bedingung passt. Dazwischen darf kein Auswahl-, Richtungs-, Warte- oder Steuerbefehl stehen.
Parameter
- bedingung: z. B. frei, blockiert, Gegner-Cube, Gegnerkern, Kernaura, Körperkontakt, Kerngefahr, Item, Rand, neutraler Cube oder beliebiger Fund.
- zu: eindeutige Zielmarke.
Ergebnis
Bei Übereinstimmung Sprung, sonst nächste Zeile; danach ist das Prüfergebnis verbraucht.
Taktischer Einsatz
Der wichtigste Baustein für Zustandswechsel, Wenn/Sonst-Logik und gezielte Reaktionen.
Typischer Fehler
Mehrere GeheWenn können nicht dasselbe Ergebnis nacheinander testen. Vor jeder weiteren Prüfung muss ein neuer Sensorbefehl laufen.
prüfeRichtung(reichweite: 6)
geheWenn(.kernAura, zu: .nahkampf)WarteVerzögert nur das eigene Programm, während Gegner und Match weiterlaufen.1 bis 50 Warte-Units
warte(anzahl: 3)Das Programm bleibt für die eingestellte Zahl Units in dieser Zeile. Struktur, aktiver Cube, Richtung und Marker ändern sich nicht. Die Wartezeit kann Reaktionen absichtlich versetzen oder einen Gegner in Reichweite kommen lassen.
Parameter
- anzahl: 1 bis 50; jede Unit verzögert den nächsten eigenen Befehl.
Ergebnis
Kein Sensorergebnis; ein vorheriges Ergebnis verfällt.
Taktischer Einsatz
Für Timing-Experimente, asynchrone Muster und kontrollierte Abfangstrategien.
Typischer Fehler
Warten ist nicht kostenlos. Zu lange Pausen schenken dem Gegner echte Rechenzeit.
warte(anzahl: 3)
prüfeUmfeld(radius: 1)ProgrammNeustartenStartet vorzeitig wieder bei der ersten aktiven Programmzeile.1 Unit
programmNeustarten()Dieser fortgeschrittene Befehl überspringt alle darunterliegenden Zeilen. Am normalen Listenende beginnt das Programm ohnehin von vorn; sinnvoll ist er deshalb nur zum bewussten Abbruch eines Sonderzweigs.
Parameter
- Keine Parameter.
Ergebnis
Springt zum Programmanfang; Richtung, Marker und aktiver Cube bleiben erhalten, Sensorergebnisse nicht.
Taktischer Einsatz
Ein kompakter Notausgang aus langen Unterprogrammen, wenn keine eigene Rücksprungmarke gewünscht ist.
Typischer Fehler
Am Programmende ist der Befehl überflüssig und kostet nur eine zusätzliche Unit.
.sonderfall:
prüfeUmfeld(radius: 1)
programmNeustarten()02 Befehle
Marker
SetzeMarkerSpeichert eine berechnete Raumkoordinate in einem Marker-Slot.2 + Reichweite
setzeMarker(marker: 1, richtung: .yPlus, reichweite: 4)Vom aktiven Cube aus werden Richtung und Entfernung zu einer Zielkoordinate verrechnet. Ein gültiges Ziel wird gespeichert und der Slot aktiviert. Außerhalb der Arena liegende Ziele werden ohne Wrap-Around nicht gespeichert.
Parameter
- marker: Slot 1 bis 5; 1 bis 3 sofort, 4 und 5 nach Speichererweiterung.
- richtung: optional; Standard ist die Vorzugsrichtung.
- reichweite: 1 bis 8; Standard 2 und kostenwirksam.
Ergebnis
Erfolg mit gespeichertem Ziel oder Rand/gesperrter Slot; direkt auswertbar.
Taktischer Einsatz
Für Rückkehrpunkte, feste Scanpositionen und mehrphasige Routen.
Typischer Fehler
Ein Marker ist ein Raumziel und keine Sprungmarke im Programmcode.
wähleKern()
setzeMarker(marker: 1, richtung: .yPlus, reichweite: 4)NutzeMarkerLegacy-Befehl: aktiviert einen vorhandenen Marker als aktuelles Raumziel.1 Unit
nutzeMarker(marker: 2)Der gespeicherte Zielpunkt wird ausgewählt, der aktive Cube aber nicht versetzt. Leere oder noch gesperrte Slots melden klar eine Blockade. Der Editor bietet diesen redundanten Zwischenschritt für neue Programme nicht mehr an; WachseZumMarker verwendet den aktiven oder angegebenen Slot direkt. Bestehende Programme bleiben kompatibel.
Parameter
- marker: Slot 1 bis 5.
Ergebnis
Erfolg bei gültigem Marker oder blockiert; als frisches Ergebnis auswertbar.
Taktischer Einsatz
Nur für ältere Programme oder einen bewussten Wechsel zwischen mehreren gespeicherten Zielen relevant.
Typischer Fehler
Für neuen Code direkt WachseZumMarker(marker: …) oder WachseZumMarker() verwenden.
nutzeMarker(marker: 2)
geheWenn(.blockiert, zu: .ersatzroute)
wachseZumMarker(marker: 2)05 Befehle
Rückbau
LöscheÄltestenEntfernt den ältesten sicheren Nicht-Kern-Cube.3 Units
löscheÄltesten()Der älteste Kandidat wird nur gelöscht, wenn der Kern geschützt bleibt und danach jeder verbleibende Cube weiterhin über direkte Nachbarn mit dem Kern verbunden ist.
Parameter
- Keine Parameter.
Ergebnis
Erfolg oder Sicherheitsblockade; frisch mit GeheWenn auswertbar.
Taktischer Einsatz
Hält wandernde Strukturen klein und entfernt veraltete Rückseiten.
Typischer Fehler
Ein alter Verbindungsknoten wird nicht gelöscht, wenn dadurch ein Ast abgetrennt würde.
verlagereKern()
löscheÄltesten()LöscheNeuestenEntfernt den zuletzt erzeugten sicheren Nicht-Kern-Cube.2 Units
löscheNeuesten()Der jüngste noch vorhandene Cube wird auf Kernschutz und Gesamtverbindung geprüft. Nur bei vollständig zusammenhängender Reststruktur erfolgt die Löschung.
Parameter
- Keine Parameter.
Ergebnis
Erfolg oder Sicherheitsblockade.
Taktischer Einsatz
Macht den letzten Wachstumsschritt kontrolliert rückgängig und eignet sich für tastende Vorstöße.
Typischer Fehler
Nach automatischem Frontausbau ist der neueste Cube nicht zwingend am aktiven Punkt.
wachseVorzugsrichtung()
geheWenn(.blockiert, zu: .zurück)
.zurück:
löscheNeuesten()LöscheAktivenVersucht ausschließlich den aktuell ausgewählten Cube zu entfernen.2 Units
löscheAktiven()Der Kern ist unantastbar. Auch jeder andere aktive Cube wird nur gelöscht, wenn die übrige Struktur verbunden bleibt. Nach erfolgreicher Löschung wird der Kern zum aktiven Punkt.
Parameter
- Keine Parameter.
Ergebnis
Erfolg, Kernschutz oder Verbindungsblockade.
Taktischer Einsatz
Für präzisen Rückbau eines zuvor bewusst ausgewählten Astes.
Typischer Fehler
Nach Erfolg verschiebt sich der aktive Ausgangspunkt zum Kern; Folgebefehle starten dort.
wähleÄußersten(richtung: .xMinus)
löscheAktiven()LöscheÄußerstenEntfernt den äußersten sicheren Cube einer gewählten Achsenseite.4 Units
löscheÄußersten(richtung: .xMinus)Zuerst wird der räumlich extremste Nicht-Kern-Cube bestimmt. Kernschutz und Gesamtverbindung werden anschließend vollständig geprüft; ein riskanter Kandidat bleibt erhalten.
Parameter
- richtung: Achse und Plus-/Minusseite des Rückbaus.
Ergebnis
Erfolg oder Sicherheitsblockade.
Taktischer Einsatz
Bereinigt gezielt eine weit entfernte Seite eines großen Suchnetzes.
Typischer Fehler
Der äußerste Cube kann ein wichtiger Verbindungssteg sein und deshalb geschützt bleiben.
löscheÄußersten(richtung: .xMinus)
zieheSpurEin(anzahl: 2)ZieheSpurEinEntfernt mehrere alte Cubes nacheinander und sicher.2 + 2 × Anzahl
zieheSpurEin(anzahl: 3)Für jeden Schritt wird erneut der älteste geeignete Nicht-Kern-Cube gesucht und auf Zusammenhang geprüft. Sobald ein Kandidat unsicher wäre, stoppt der gesamte Rückzug an dieser Stelle.
Parameter
- anzahl: 1 bis 20; erhöht die Kosten um 2 Units je gewünschtem Cube.
Ergebnis
Erfolg mit tatsächlich entferntem Teil der Spur oder frühe Sicherheitsblockade.
Taktischer Einsatz
Für Teleskoparme, mobile Kerne und speichersparende Suchpfade.
Typischer Fehler
Die vollen Befehlskosten richten sich nach der angeforderten Anzahl, auch wenn der Rückbau früh stoppt.
wachseVorzugsrichtung()
prüfeRichtung(reichweite: 8)
zieheSpurEin(anzahl: 2)