解説動画
解答コード
player.onChat("20-9", function () {
player.say("抜け落ちたブロックを正しい位置に挿入して、石の柱を完成させます");
// 柱を読み取ります
agent.move(FORWARD, 2);
let column: number[] = [0, 0, 0, 0, 0, 0]; // 不完全な石の柱(6個)
inspectPillar(column);
// 抜け落ちたブロックを読み取ります
agent.move(RIGHT, 1);
let missingId: number = agent.inspect(AgentInspection.Block, FORWARD); // 抜け落ちたブロック
agent.move(LEFT, 1);
agent.move(BACK, 2);
// 柱の中から、抜け落ちたブロックの位置を求めて、その位置にブロックを挿入します
let insertIndex: number = column.length;
for (let i: number = 0; i < column.length; i++) {
if (column[i] > missingId) {
insertIndex = i;
break;
}
}
column.insertAt(insertIndex, missingId);
// 柱を立てます
buildPillar(column);
player.say("石の柱を完成させました");
});