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
Wichtig für Bedingungen

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

Nach oben
WachseErzeugt genau einen Cube in einer fest gewählten Richtung.4 Units
Syntaxwachse(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.

Beispiel
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
SyntaxwachseWennFrei()

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.

Beispiel
wachseWennFrei()
geheWenn(.blockiert, zu: .neueRoute)
WachseZumMarkerNähert sich dem gewählten Raumziel um genau einen Achsenschritt.6 Units
SyntaxwachseZumMarker()

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.

Beispiel
setzeMarker(marker: 1, richtung: .yPlus, reichweite: 4)
// später
wachseZumMarker()
WachseVorzugsrichtungWächst günstig in der gespeicherten Vorzugsrichtung.3 Units
SyntaxwachseVorzugsrichtung()

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.

Beispiel
sucheStärkstesSignal()
prüfeRichtung(reichweite: 6)
wachseVorzugsrichtung()
WachseZufälligWählt zufällig eines der aktuell freien direkten Nachbarfelder.5 Units
SyntaxwachseZufä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.

Beispiel
wähleNeuesten()
wachseZufällig()
prüfeUmfeld(radius: 1)

05 Befehle

Sensorik

Nach oben
PrüfeNachbarUntersucht exakt eine angrenzende Zelle – günstig und eindeutig.2 Units
Syntaxprü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.

Beispiel
prüfeNachbar(richtung: .zMinus)
geheWenn(.gegnerKern, zu: .angriff)
PrüfeRichtungScannt einen geraden Strahl bis zum ersten belegten Feld.2 + Reichweite
Syntaxprü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.

Beispiel
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)
Syntaxprü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.

Beispiel
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
Syntaxprü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.

Beispiel
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
SyntaxverfolgeGegnerstruktur()

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.

Beispiel
.jagd:
verfolgeGegnerstruktur()
geheWenn(.blockiert, zu: .flanke)
übernehmeGegnerCube()
geheWenn(.gegnerCube, zu: .jagd)

03 Befehle

Strukturen

Nach oben
ÜbernehmeGegnerCubeÜbernimmt einen Gegner-Cube direkt neben dem aktiven eigenen Cube.8 Units
Syntaxü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.

Beispiel
aktiviereKontaktstelle()
übernehmeGegnerCube()
geheWenn(.gegnerCube, zu: .jagd)
ÜbernehmeNeutralenCubeBindet einen angrenzenden neutralen Cube in die eigene Struktur ein.4 Units
Syntaxü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.

Beispiel
prüfeUmfeld(radius: 1)
geheWenn(.neutralerCube, zu: .sammeln)
.sammeln:
übernehmeNeutralenCube()
ErweitereFrontFindet automatisch einen passenden Rand-Cube und erweitert dort die Struktur.8 Units
SyntaxerweitereFront()

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.

Beispiel
sucheStärkstesSignal()
erweitereFront()
übernehmeGegnerCube()

10 Befehle

Auswahl & Richtung

Nach oben
SetzeRichtungSpeichert sofort eine neue Vorzugsrichtung.1 Unit
SyntaxsetzeRichtung(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.

Beispiel
setzeRichtung(richtung: .zPlus)
wachseVorzugsrichtung()
DreheRichtungDreht die Vorzugsrichtung zyklisch durch den 3D-Raum.1 Unit
SyntaxdreheRichtung(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.

Beispiel
prüfeRichtung(reichweite: 4)
dreheRichtung(schritte: 1)
geheZu(zu: .suche)
FindeFreieRichtungSucht deterministisch einen freien Nachbarn und merkt seine Richtung.3 Units
SyntaxfindeFreieRichtung()

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.

Beispiel
findeFreieRichtung()
geheWenn(.blockiert, zu: .kern)
wachseVorzugsrichtung()
SucheStärkstesSignalErmittelt die grobe Achsenrichtung des stärksten gegnerischen Signals.18 Units
SyntaxsucheStä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.

Beispiel
sucheStärkstesSignal()
geheWenn(.kernAura, zu: .nahkampf)
prüfeRichtung(reichweite: 8)
AktiviereKontaktstelleWählt den eigenen Cube am zuletzt gespeicherten Körperkontakt aus.2 Units
SyntaxaktiviereKontaktstelle()

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.

Beispiel
prüfeKörperkontakt()
geheWenn(.körperKontakt, zu: .abwehr)
.abwehr:
aktiviereKontaktstelle()
übernehmeGegnerCube()
WähleKernSetzt den eigenen Programmkern als aktiven Ausgangspunkt.1 Unit
Syntaxwä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.

Beispiel
wähleKern()
setzeMarker(marker: 1, reichweite: 2)
VerlagereKernVerschiebt den Programmkern atomar um ein Feld in Vorzugsrichtung.5 Units
SyntaxverlagereKern()

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.

Beispiel
findeFreieRichtung()
verlagereKern()
löscheÄltesten()
WähleNeuestenAktiviert den zuletzt erzeugten, noch vorhandenen eigenen Cube.1 Unit
Syntaxwä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.

Beispiel
wähleNeuesten()
prüfeRichtung(reichweite: 6)
WähleÄltestenAktiviert den ältesten noch vorhandenen Nicht-Kern-Cube.1 Unit
Syntaxwä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.

Beispiel
wähleÄltesten()
prüfeUmfeld(radius: 1)
WähleÄußerstenAktiviert den eigenen Cube mit der extremsten Koordinate auf einer Achse.2 Units
Syntaxwä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.

Beispiel
wähleÄußersten(richtung: .yMinus)
wachseWennFrei(richtung: .yMinus)

04 Befehle

Programmsteuerung

Nach oben
GeheZuSpringt bedingungslos zu einer benannten Programm-Marke.1 Unit
SyntaxgeheZu(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.

Beispiel
.suche:
sucheStärkstesSignal()
prüfeRichtung()
geheZu(zu: .suche)
GeheWennVerzweigt einmalig anhand des frischen Ergebnisses des direkt vorherigen Befehls.1 Unit
SyntaxgeheWenn(.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.

Beispiel
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
Syntaxwarte(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.

Beispiel
warte(anzahl: 3)
prüfeUmfeld(radius: 1)
ProgrammNeustartenStartet vorzeitig wieder bei der ersten aktiven Programmzeile.1 Unit
SyntaxprogrammNeustarten()

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.

Beispiel
.sonderfall:
prüfeUmfeld(radius: 1)
programmNeustarten()

02 Befehle

Marker

Nach oben
SetzeMarkerSpeichert eine berechnete Raumkoordinate in einem Marker-Slot.2 + Reichweite
SyntaxsetzeMarker(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.

Beispiel
wähleKern()
setzeMarker(marker: 1, richtung: .yPlus, reichweite: 4)
NutzeMarkerLegacy-Befehl: aktiviert einen vorhandenen Marker als aktuelles Raumziel.1 Unit
SyntaxnutzeMarker(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.

Beispiel
nutzeMarker(marker: 2)
geheWenn(.blockiert, zu: .ersatzroute)
wachseZumMarker(marker: 2)

05 Befehle

Rückbau

Nach oben
LöscheÄltestenEntfernt den ältesten sicheren Nicht-Kern-Cube.3 Units
Syntaxlö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.

Beispiel
verlagereKern()
löscheÄltesten()
LöscheNeuestenEntfernt den zuletzt erzeugten sicheren Nicht-Kern-Cube.2 Units
Syntaxlö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.

Beispiel
wachseVorzugsrichtung()
geheWenn(.blockiert, zu: .zurück)
.zurück:
löscheNeuesten()
LöscheAktivenVersucht ausschließlich den aktuell ausgewählten Cube zu entfernen.2 Units
Syntaxlö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.

Beispiel
wähleÄußersten(richtung: .xMinus)
löscheAktiven()
LöscheÄußerstenEntfernt den äußersten sicheren Cube einer gewählten Achsenseite.4 Units
Syntaxlö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.

Beispiel
löscheÄußersten(richtung: .xMinus)
zieheSpurEin(anzahl: 2)
ZieheSpurEinEntfernt mehrere alte Cubes nacheinander und sicher.2 + 2 × Anzahl
SyntaxzieheSpurEin(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.

Beispiel
wachseVorzugsrichtung()
prüfeRichtung(reichweite: 8)
zieheSpurEin(anzahl: 2)