解説動画
解答コード
let structure = [[[0]]];
// 読み取る
function inspectStructure() {
structure = [];
for (let i = 0; i < 4; i++) {
let wall = [];
for (let j = 0; j < 7 - i * 2; j++) {
let line = [];
for (let k = 0; k < 7 - i * 2; k++){
let block_type = agent.inspect(AgentInspection.Block, FORWARD);
line.push(block_type);
agent.move(LEFT, 1);
}
wall.push(line);
agent.move(RIGHT, 7 - i * 2);
agent.move(UP, 1);
}
structure.push(wall);
agent.move(FORWARD, 2);
agent.move(DOWN, 7 - i * 2);
}
}
// 複製
function cloneStructure() {
structure.forEach(function (wall) {
wall.forEach(function (line) {
line.forEach(function (block){
agent.setItem(block, 1, 1);
agent.place(DOWN);
agent.move(LEFT, 1);
});
agent.move(RIGHT, line.length);
player.say(line.length);
agent.move(BACK, 1);
});
agent.move(FORWARD, wall.length);
agent.move(BACK, 1);
agent.move(LEFT, 1);
agent.move(UP, 1);
});
}
player.onChat("16-10", function () {
// 読み取る
inspectStructure();
// 複製先へ移動
agent.move(LEFT, 9);
agent.move(UP, 1);
agent.move(BACK, 1);
// 複製
cloneStructure();
});