Guides

Craftomation 101 Tableaux, fonctions et coordination multi-mates

Dépassez les graphes copiés-collés : fonctions réutilisables, variables, tableaux et équipes qui partagent un plan.

Dernière mise à jour:

Guide tableaux et fonctions

Les victoires précoces de Craftomation 101 viennent de minuscules boucles : Find, Combine, Drop, Idle. Les victoires milieu et fin viennent de l’hygiène logiciellefonctions réutilisables, variables, et (à partir de la 1.0 / fin d’accès anticipé) des tableaux (arrays) qui laissent une idée piloter beaucoup de CraftoMates sans six copies divergentes de MakeFire. Ce guide est le compagnon avancé de Programmation visuelle : quand extraire des fonctions, comment les variables aident, ce que les arrays débloquent, et comment coordonner une équipe sans construire un robot méga-cerveau.

Le jeu reste solo sur Steam (Windows, macOS, Linux) de Luden.io, accès anticipé 2024-02-19, sortie complète 2026-09-14. Le code malin draine encore les batteries ; associez chaque motif ici à Nourrir les robots et aux fondamentaux Premiers pas.

Pourquoi les outils avancés existent

Le pitch Steam lui-même met en avant fonctions réutilisables, variables et arrays comme chemin vers des systèmes plus malins. En jeu, cela mappe trois douleurs :

  1. Vous avez collé MakeSpark sur huit bots et n’en avez patché que sept quand le Coal a bougé.
  2. Les tuiles Drop en dur cassent chaque fois que vous reconstruisez un yard.
  3. Les coursiers ont besoin d’une liste de dépôts, pas d’un seul coffre au trésor.

Les fonctions attaquent (1). Les variables attaquent (2). Les arrays attaquent (3). Vous n’avez pas besoin d’arrays pour allumer le premier bonfire — vous en avez besoin quand la logistique devient un tableur que vous implémentez avec les pieds.

Fonctions d’abord : l’habitude qui scale

Une fonction utilisateur est une sous-routine nommée que vous éditez une fois et appelez depuis beaucoup de graphes. Extractions précoces classiques :

  • MakeSpark — Stone, Stone, Combine
  • MakeFire — MakeSpark, Coal, Combine
  • EatBricks — compare énergie, chercher Coal Brick, Eat
  • FeedBonfire — MakeFire, Drop vers la fosse
  • MakeTank / MakeSteamBattery — milieu de partie industriel (Steam Battery)

Règles de design de fonction

  • Une responsabilité par fonction. FeedBonfireAndAlsoBrewAle est comment les bugs se cachent.
  • Nommez des verbes d’après les résultats (EatBricks, pas Helper2).
  • Patchez la définition, puis retestez les appelants — ne forkez pas silencieusement une copie « juste pour Heat3 ».
  • Gardez le soin énergie soit à l’intérieur de chaque longue fonction, soit comme wrapper obligatoire que le graphe principal appelle toujours.

Des upgrades plus tardives exposent des blocs de contrôle de mate à l’intérieur de l’édition de fonction (pause mate, start mate, feed mate, set speed). Ces outils permettent robots infirmiers et contrôle du trafic — gardez quand même un propriétaire clair par job pour savoir quel graphe ouvrir à 2 % de batterie.

Si les fonctions semblent encore abstraites, terminez le vocabulaire de blocs de base sur Programmation visuelle avant de revenir ici.

Variables : se souvenir de nombres, types et lieux

Les outils variables (débloqués via packs de recherche comme familles Var Numbers / Var Coordinates / Var Objects / Var Logic) laissent les programmes mesurer et se souvenir au lieu d’agir seulement à l’aveugle :

  • Comparer des seuils d’énergie avec des nombres réglables au lieu d’impressions
  • Lire combien d’objets siègent sur une tuile avant de craft davantage
  • Capturer des coordonnées pour que les cibles Drop/Go puissent être assignées au lieu d’être recliquées dans chaque bloc
  • Comparer des types d’objets pour que Combine ne tire que quand les mains tiennent la paire attendue

Motifs variables pratiques :

  • Seuil lowEnergy partagé mentalement à travers l’équipe (documentez-le dans les noms de robots ou des notes de côté)
  • depotPos pour le pad de chargement d’un coursier
  • Compteurs avant de remplir un coffre Steam Battery pour ne pas noyer le revenu Water

Les variables brillent quand le monde change. Un pad brewery reconstruit devrait mettre à jour une histoire de variable de coordonnée — pas dix-sept blocs Drop enterrés dans des clones.

Arrays : listes pour la logistique adulte (1.0 / fin EA)

Les arrays arrivent comme outillage avancé d’ère fin d’accès anticipé / 1.0 : conteneurs qui stockent plusieurs valeurs (nombres, coordonnées, même types d’objets) derrière des indices. Pensez « une poignée de variables collées en une structure ».

Capacités côté joueur signalées dans les notes de mise à jour :

  • Éditer les éléments directement dans le nœud array
  • Get element / Set element par index (indices commençant à 1 dans l’outillage documenté)
  • Array length pour savoir combien de slots comptent
  • Un onglet Advanced regroupant commandes array avec outils style repeater
  • Passer des arrays dans des fonctions custom via array input / array output

Sémantique importante : quand vous passez un array dans une fonction, la fonction reçoit une copie ; l’original reste inchangé sauf si vous concevez un chemin d’écriture explicite. Cette règle de copie empêche le cross-talk accidentel — et surprend les joueurs qui attendaient des mutations pass-by-reference.

À quoi les arrays sont bons

  • Liste ordonnée de coordonnées de dépôt d’un coursier
  • Liste de tuiles de staging volcan ou de fosses bonfire d’un dropper
  • Checklist de types d’objets à tirer en remplissant une caisse Cargo Mate
  • Partager une définition de route entre plusieurs mates en donnant à chacun une copie à parcourir

À quoi les arrays ne sont pas bons

  • Remplacer votre première boucle Fire
  • Stocker « toute l’usine » dans une structure opaque que personne ne peut déboguer
  • Éviter la spécialisation — un array de vingt jobs sur un bot reste un méga-cerveau

Coordonner plusieurs mates sans chaos

La programmation avancée soutient les équipes ; elle ne remplace pas la propriété. Modèle de coordination recommandé :

  1. Les spécialistes possèdent les crafts (Heat, Bricks, Tanks, Brewery).
  2. Les coursiers possèdent le mouvement (Cargo Mate quand les caisses comptent).
  3. Les infirmiers possèdent nourriture / pause-start / aides de vitesse via blocs d’interaction réservés aux fonctions.
  4. Les fonctions partagées gardent la math de craft identique entre spécialistes.
  5. Les arrays/variables partagés gardent les lieux identiques entre coursiers.

Séquencez quels spécialistes embaucher avec Priorité d’automatisation. Un beau array de dépôts vides ne sauvera pas une équipe qui n’a jamais automatisé les Coal Bricks.

Déboguer les systèmes multi-mates

  • Pausez et regardez un bot à travers un cycle complet avant de blâmer l’array.
  • Vérifiez objets tenus et énergie avant d’assumer que la math d’index est fausse.
  • Confirmez si une fonction a reçu une copie d’array et si les sorties ont été réécrites.
  • Réexécutez après des édits structurels pour que les mates ne soient pas au milieu d’un vieux graphe.
  • Si deux coursiers se battent pour un coffre, séparez les pads — n’ajoutez pas plus de bruit Find and pick.

Ordre d’apprentissage suggéré

  1. Boucles Idle fermées et branches énergie (Premiers pas, Programmation visuelle)
  2. Extraire fonctions MakeFire / EatBricks sur deux bots
  3. Ajouter seuils variables et captures de coordonnées quand les yards bougent
  4. Introduire les arrays quand vous maintenez trois ou plus lieux liés ou arrêts de route
  5. Passer des arrays dans des fonctions seulement après que les marches array single-bot marchent

Sautez des étapes seulement si vous aimez réécrire. La glace est patiente ; les indices buggés ne le sont pas.

Liens avec les objectifs d’usine

Checklist

  1. Chaque séquence de craft dupliquée est une fonction.
  2. Le soin énergie est standardisé entre appelants.
  3. Les coordonnées qui bougent vivent dans des variables (ou slots array), pas seulement dans des blocs Drop oubliés.
  4. Les arrays apparaissent après que la douleur logistique est réelle.
  5. Les copies d’array de fonction sont comprises avant d’attendre des mutations.
  6. Les noms de robots correspondent encore aux jobs — le code avancé n’excuse pas Bot17.

La programmation visuelle avancée dans Craftomation 101, c’est moins se montrer et plus refuser de maintenir sept graphes MakeFire légèrement différents à 3 h du matin. Extrayez les fonctions tôt, adoptez les variables quand les pads bougent, débloquez les arrays quand les listes apparaissent, et gardez chaque structure maligne subordonnée à des mates nourris et spécialisés.

FAQ

Foire aux questions

Réponses rapides aux questions les plus fréquentes.

Quand commencer à utiliser les fonctions dans Craftomation 101 ?

Dès que vous copiez la même séquence Spark/Fire ou EatBricks sur un second robot. Commencez par Programmation visuelle.

À quoi servent les arrays ?

Stocker des listes de nombres, coordonnées ou types pour que coursiers et routines multi-arrêts partagent une définition de route — surtout utile avec la logistique Cargo Mate.

Les arrays existent-ils dès le premier tutoriel ?

Non. Les arrays sont un outillage avancé associé à la progression fin d'accès anticipé / 1.0. Maîtrisez d'abord boucles Idle et fonctions (Premiers pas).

Que se passe-t-il quand je passe un array dans une fonction ?

Le comportement documenté donne à la fonction une copie ; l'array original reste inchangé sauf si vous réécrivez explicitement les résultats.

Un robot avec arrays peut-il remplacer toute mon équipe ?

Il ne devrait pas. Gardez spécialistes et coursiers séparés, et embauchez dans l'ordre de Priorité d'automatisation.