Craftomation 101 Arrays, Funktionen und Multi-Mate-Koordination
Weg von copy-pasteten Graphen: wiederverwendbare Funktionen, Variablen, Arrays und Crews mit gemeinsamem Plan.
Frühe Wins in Craftomation 101 kommen von winzigen Schleifen: Find, Combine, Drop, Idle. Mid- und Late-Wins kommen von Software-Hygiene — wiederverwendbare Funktionen, Variablen und (ab 1.0 / spätem Early Access) Arrays, die eine Idee viele CraftoMates steuern lassen, ohne sechs divergente Kopien von MakeFire. Dieser Guide ist der fortgeschrittene Companion zur visuellen Programmierung: wann Funktionen extrahieren, wie Variablen helfen, was Arrays freischalten und wie du eine Crew koordinierst, ohne einen Mega-Brain-Roboter zu bauen.
Das Spiel bleibt Singleplayer auf Steam (Windows, macOS, Linux) von Luden.io, Early Access 2024-02-19, Full Release 2026-09-14. Cleverer Code drainiert trotzdem Batterien; paare jedes Muster hier mit Roboter füttern und den Fundamentals aus dem Einstieg.
Warum fortgeschrittene Tools existieren
Steams eigener Pitch nennt wiederverwendbare Funktionen, Variablen und Arrays als Weg zu smarteren Systemen. Im Spiel mappt das auf drei Schmerzen:
- Du hast MakeSpark auf acht Bots gepastet und nur sieben gepatcht, als Coal umzog.
- Hardcodierte Drop-Tiles brechen jedes Mal, wenn du einen Hof neu baust.
- Couriers brauchen eine Liste von Depots, nicht eine einzelne Schatztruhe.
Funktionen greifen (1) an. Variablen greifen (2) an. Arrays greifen (3) an. Du brauchst keine Arrays, um den ersten Bonfire anzuzünden — du brauchst sie, wenn Logistik zu einer Spreadsheet wird, die du mit Füßen implementierst.
Zuerst Funktionen: die Gewohnheit, die skaliert
Eine User Function ist eine benannte Subroutine, die du einmal editierst und aus vielen Graphen aufrufst. Klassische frühe Extraktionen:
MakeSpark— Stone, Stone, CombineMakeFire— MakeSpark, Coal, CombineEatBricks— Energie-Compare, Coal Brick holen, EatFeedBonfire— MakeFire, Drop to PitMakeTank/MakeSteamBattery— industrielles Midgame (Steam Battery)
Regeln für Funktionsdesign
- Eine Verantwortung pro Funktion.
FeedBonfireAndAlsoBrewAleist, wie Bugs sich verstecken. - Verben nach Outcomes benennen (
EatBricks, nichtHelper2). - Die Definition patchen, dann Caller re-testen — forke nicht still eine Kopie „nur für Heat3.“
- Halte Energie-Care entweder in jeder langen Funktion oder als mandatory Wrapper, den der Main-Graph immer aufruft.
Spätere Upgrades exponieren Mate-Control-Blöcke innerhalb der Funktionsbearbeitung (pause mate, start mate, feed mate, set speed). Diese Tools ermöglichen Nurse-Roboter und Traffic Control — halte trotzdem einen klaren Owner pro Job, damit du weißt, welchen Graphen du bei 2 % Batterie öffnest.
Wenn Funktionen noch abstrakt wirken, beende zuerst das Kern-Block-Vokabular unter visuelle Programmierung, bevor du hierher zurückkehrst.
Variablen: Zahlen, Typen und Orte merken
Variable Tools (freigeschaltet über Research Packs wie Var Numbers / Var Coordinates / Var Objects / Var Logic) lassen Programme messen und merken, statt nur blind zu handeln:
- Energie-Schwellwerte mit tunbaren Zahlen vergleichen statt mit Vibes
- Lesen, wie viele Items auf einem Tile sitzen, bevor du mehr craftest
- Koordinaten erfassen, damit Drop/Go-Targets zugewiesen statt in jeden Block neu geklickt werden
- Object Types vergleichen, sodass Combine nur feuert, wenn Hände das erwartete Paar halten
Praktische Variablen-Muster:
lowEnergy-Schwellwert mental über die Crew geteilt (dokumentiere ihn in Roboternamen oder Side-Note-Kommentaren)depotPosfür das Loading Pad eines Couriers- Counts vor dem Top-off eines Steam-Battery-Chests, damit du Water-Einkommen nicht ertränkst
Variablen glänzen, wenn die Welt sich ändert. Ein neu gebautes Brewery-Pad sollte eine Koordinaten-Variable aktualisieren — nicht siebzehn Drop-Blöcke, die in Klonen vergraben sind.
Arrays: Listen für erwachsene Logistik (1.0 / spätes EA)
Arrays kommen als fortgeschrittenes Tooling der späten Early-Access- / 1.0-Ära: Container, die mehrere Werte (Zahlen, Koordinaten, sogar Object Types) hinter Indizes speichern. Denk an „eine Handvoll Variablen zu einer Struktur geklebt.“
Spielerseitige Capabilities aus Update-Notes umfassen:
- Elemente direkt im Array-Node editieren
- Get element / Set element per Index (Indizes starten laut dokumentiertem Tooling bei 1)
- Array length, um zu wissen, wie viele Slots zählen
- Ein Advanced-Tab, der Array-Commands mit Repeater-artigen Tools gruppiert
- Arrays in Custom Functions über array input / array output reichen
Wichtige Semantik: wenn du ein Array in eine Funktion reichst, erhält die Funktion eine Kopie; das Original bleibt unverändert, es sei denn, du designst einen expliziten Write-back-Pfad. Diese Copy-Regel verhindert versehentliches Cross-Talk — und überrascht Spieler, die Pass-by-Reference-Mutationen erwarteten.
Wofür Arrays gut sind
- Die geordnete Depot-Koordinatenliste eines Couriers
- Die Liste von Vulkan-Staging-Tiles oder Bonfire-Pits eines Droppers
- Eine Checkliste von Item Types zum Ziehen, während eine Cargo Mate-Box gefüllt wird
- Eine Route-Definition über mehrere Mates teilen, indem jeder eine Kopie zum Abgehen bekommt
Wofür Arrays nicht sind
- Deine erste Fire-Schleife ersetzen
- „Die gesamte Fabrik“ in einer opaken Struktur speichern, die niemand debuggen kann
- Spezialisierung vermeiden — ein Array mit zwanzig Jobs auf einem Bot ist immer noch ein Mega-Brain
Mehrere Mates ohne Chaos koordinieren
Fortgeschrittene Programmierung unterstützt Crews; sie ersetzt Ownership nicht. Empfohlenes Koordinationsmodell:
- Spezialisten besitzen Crafts (Heat, Bricks, Tanks, Brewery).
- Couriers besitzen Bewegung (Cargo Mate, wenn Boxen zählen).
- Nurses besitzen Füttern / Pause-Start / Speed-Assists mit function-only Interaction Blocks.
- Geteilte Funktionen halten Craft-Math über Spezialisten hinweg identisch.
- Geteilte Arrays/Variablen halten Locations über Couriers hinweg identisch.
Sequenzieren, welche Spezialisten du heuerst, mit der Automatisierungs-Priorität. Ein schönes Array leerer Depots rettet keine Crew, die nie Coal Bricks automatisiert hat.
Multi-Mate-Systeme debuggen
- Pause und beobachte einen Bot durch einen vollen Zyklus, bevor du das Array blamierst.
- Verifiziere gehaltene Items und Energie, bevor du Index-Math für falsch hältst.
- Bestätige, ob eine Funktion eine Array-Kopie erhielt und ob Outputs zurückgeschrieben wurden.
- Re-execute nach strukturellen Edits, damit Mates nicht mitten in einem Old-Graph stecken.
- Wenn zwei Couriers um ein Chest kämpfen, Pads splitten — nicht mehr Find-and-pick-Noise hinzufügen.
Empfohlene Lernreihenfolge
- Geschlossene Idle-Schleifen und Energiezweige (Einstieg, visuelle Programmierung)
- MakeFire- / EatBricks-Funktionen auf zwei Bots extrahieren
- Variablen-Schwellwerte und Koordinaten-Captures hinzufügen, wenn Höfe umziehen
- Arrays einführen, wenn du drei oder mehr verwandte Locations oder Route-Stops unterhältst
- Arrays in Funktionen reichen, erst nachdem Single-Bot-Array-Walks funktionieren
Spring nur voraus, wenn du gern neu schreibst. Das Eis ist geduldig; buggy Indizes sind es nicht.
Tie-ins zu Fabrikzielen
- Wärme und Bricks dominieren weiterhin frühe Priorität (Automatisierungs-Priorität)
- Steam Battery und Vulkan-Drops profitieren von gestagten Koordinatenlisten (Steam Battery, Vulkan wecken)
- Cargo-Routen sind das freundlichste Array-Tutorial im Spiel (Cargo Mate)
Checkliste
- Jede duplizierte Craft-Sequenz ist eine Funktion.
- Energie-Care ist über Caller hinweg standardisiert.
- Koordinaten, die wandern, leben in Variablen (oder Array-Slots), nicht nur in vergessenen Drop-Blöcken.
- Arrays erscheinen, nachdem der Logistik-Schmerz real ist.
- Function-Array-Kopien sind verstanden, bevor du Mutationen erwartest.
- Roboternamen matchen weiterhin Jobs — fortgeschrittener Code ist keine Entschuldigung für
Bot17.
Fortgeschrittene visuelle Programmierung in Craftomation 101 geht weniger um Angeben und mehr darum, sich zu weigern, um 3 Uhr morgens sieben leicht verschiedene MakeFire-Graphen zu pflegen. Extrahiere Funktionen früh, übernimm Variablen wenn Pads wandern, schalte Arrays frei wenn Listen erscheinen, und halte jede clevere Struktur den gefütterten, spezialisierten Mates untergeordnet.
Häufig gestellte Fragen
Schnelle Antworten auf die häufigsten Fragen.
Wann sollte ich Funktionen in Craftomation 101 nutzen?
Sobald du dieselbe Spark/Fire- oder EatBricks-Sequenz auf einen zweiten Roboter kopierst. Starte mit der visuellen Programmierung.
Wofür werden Arrays genutzt?
Listen von Zahlen, Koordinaten oder Typen speichern, damit Couriers und Multi-Stop-Routinen eine gemeinsame Route-Definition teilen — besonders nützlich mit Cargo Mate-Logistik.
Existieren Arrays ab dem ersten Tutorial?
Nein. Arrays sind fortgeschrittenes Tooling der späten Early-Access- / 1.0-Progression. Master zuerst Idle-Schleifen und Funktionen (Einstieg).
Was passiert, wenn ich ein Array in eine Funktion reiche?
Dokumentiertes Verhalten gibt der Funktion eine Kopie; das Original-Array bleibt unverändert, es sei denn, du schreibst Ergebnisse explizit zurück.
Kann ein Roboter mit Arrays meine ganze Crew ersetzen?
Sollte er nicht. Halte Spezialisten und Couriers getrennt und heuere in der Reihenfolge der Automatisierungs-Priorität.