解説動画
解答コード
let structure = [[0]];
// 読み取る
function inspectStructure() {
structure = [];
for (let i = 0; i < 2; i++) {
let line = [];
for (let j = 0; j < 2; j++) {
let block_type = agent.inspect(AgentInspection.Block, FORWARD);
line.push(block_type);
agent.move(RIGHT, 1);
}
structure.push(line);
agent.move(LEFT, 2);
agent.move(UP, 1);
}
}
// 複製
function cloneStructure() {
structure.forEach(function (element) {
element.forEach(function (block) {
if (block !== AIR) { // ブロックが空気でないかチェック
agent.setItem(block, 1, 1);
agent.place(FORWARD);
}
agent.move(RIGHT, 1);
});
agent.move(LEFT, element.length);
agent.move(UP, 1);
});
}
player.onChat("16-7", function () {
// 読み取る
inspectStructure();
// 1個目の複製先へ移動
agent.move(DOWN, 1);
agent.move(RIGHT, 8);
// 1個目の複製
cloneStructure();
// 2個目の複製先へ移動
agent.move(DOWN, 1);
agent.move(LEFT, 4);
agent.move(FORWARD, 4);
// 2個目の複製
cloneStructure();
});