The Mars robotLe robot martien
Six samples to collect. One Lua strategy to write.Six échantillons à récolter. Une stratégie Lua à écrire.
MWG computes paths and manages the scene. Your Lua function picks which sample to chase each turn. Pyroeis runs that decision in a worker with a budget of 30,000 instructions and 50 ms per call.MWG calcule les chemins et gère la scène. Votre fonction Lua choisit quel échantillon poursuivre à chaque tour. Pyroeis exécute cette décision dans un worker avec un budget de 30 000 instructions et 50 ms par appel.
Loading the engines…Chargement des moteurs…
The displayed path is computed by MWG.Le chemin affiché est calculé par MWG.
choose(targets) receives a Lua list (indices from 1). Each target holds id, x, y and distance. Return the index of the target to chase. A distance is the number of MWG path steps.choose(targets) reçoit une liste Lua (indices à partir de 1). Chaque cible contient id, x, y et distance. Renvoyez l’indice de la cible à poursuivre. Une distance est le nombre de pas du chemin MWG.
Who does what?Qui fait quoi ?
Why this data exchange instead of fengari-interop?Pourquoi cet échange de données plutôt que fengari-interop ? The choice is documented with its benefits, costs and limits.Le choix est documenté avec ses avantages, ses coûts et ses limites.
The scene inherits from MWG.Scene and lives in SceneStack. The map is an MWG.Roguelike.Level; Pathfinder computes four-direction routes. Rendering uses the browser’s 2D canvas. The Lua engine is this repository’s Pyroeis bundle, without depending on MWG’s former Fengari host.La scène hérite de MWG.Scene et vit dans SceneStack. La carte est un MWG.Roguelike.Level ; Pathfinder calcule les itinéraires à quatre directions. Le rendu utilise le canvas 2D du navigateur. Le moteur Lua est le bundle Pyroeis de ce dépôt, sans dépendre de l’ancien hôte Fengari de MWG.
The infinite loop offered in the selector is a recovery example: the robot stops, the page stays interactive and you can apply another strategy. Moves and the returned index are validated by the game before changing the map. An outer watchdog also stops the worker if it stops responding.La boucle infinie proposée dans le sélecteur est un exemple de récupération : le robot s’arrête, la page reste interactive et vous pouvez appliquer une autre stratégie. Les déplacements et l’indice renvoyé sont validés par le jeu avant de modifier la carte. Un watchdog extérieur arrête aussi le worker s’il ne répond plus.
See the sources and versionsVoir les sources et les versions
Scene, map, paths and commandsScène, carte, chemins et commandes · Lua workerWorker Lua · MWG 0.35.1 and the npm archive fingerprintMWG 0.35.1 et empreinte de l’archive npm · MWG sourcesSources MWG · MWG MPL-2.0 licenceLicence MPL-2.0 de MWG.