construction tasks try catch loop

This commit is contained in:
Isadora White 2025-03-23 15:39:50 -05:00
parent b965123f74
commit 354e1f754a

View file

@ -47,6 +47,7 @@ export function resetConstructionWorld(bot, blueprint) {
export function checkLevelBlueprint(agent, levelNum) { export function checkLevelBlueprint(agent, levelNum) {
const blueprint = agent.task.blueprint; const blueprint = agent.task.blueprint;
const bot = agent.bot; const bot = agent.bot;
try {
const result = blueprint.checkLevel(bot, levelNum); const result = blueprint.checkLevel(bot, levelNum);
if (result.mismatches.length === 0) { if (result.mismatches.length === 0) {
return `Level ${levelNum} is correct`; return `Level ${levelNum} is correct`;
@ -54,6 +55,11 @@ export function checkLevelBlueprint(agent, levelNum) {
let explanation = blueprint.explainLevelDifference(bot, levelNum); let explanation = blueprint.explainLevelDifference(bot, levelNum);
return explanation; return explanation;
} }
} catch (error) {
console.error('Error checking level blueprint:', error);
return `Error checking level ${levelNum}: ${error.message}`;
}
} }
export function checkBlueprint(agent) { export function checkBlueprint(agent) {
@ -158,6 +164,9 @@ export class Blueprint {
} }
checkLevel(bot, levelNum) { checkLevel(bot, levelNum) {
const levelData = this.data.levels[levelNum]; const levelData = this.data.levels[levelNum];
if (!levelData) {
throw new Error(`Level ${levelNum} does not exist in the blueprint.`);
}
const startCoords = levelData.coordinates; const startCoords = levelData.coordinates;
const placement = levelData.placement; const placement = levelData.placement;
const mismatches = []; const mismatches = [];