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,13 +47,19 @@ 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;
const result = blueprint.checkLevel(bot, levelNum); try {
if (result.mismatches.length === 0) { const result = blueprint.checkLevel(bot, levelNum);
return `Level ${levelNum} is correct`; if (result.mismatches.length === 0) {
} else { return `Level ${levelNum} is correct`;
let explanation = blueprint.explainLevelDifference(bot, levelNum); } else {
return explanation; let explanation = blueprint.explainLevelDifference(bot, levelNum);
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 = [];