解説動画
解答コード
let head = [[[0]]];
function inspectStracture1410() {
head=[];
for (let k = 0; k < 6; k++) {
let headLine01 = [];
for (let x = 0; x < 4; x++) {
let headLine02 = [];
for (let y = 0; y < 3; y++) {
const blockType = agent.inspect(AgentInspection.Block, DOWN);
headLine02.push(blockType); // ブロックタイプをpatternLine02に追加
agent.move(RIGHT, 1);
}
headLine01.push(headLine02);
agent.move(LEFT, 3);
if (x != 3) agent.move(FORWARD, 1);
}
head.push(headLine01);
agent.move(BACK, 3);
if (k < 2) {
agent.move(RIGHT, 5);
}
if (k == 2) {
agent.turn(RIGHT_TURN);
agent.turn(RIGHT_TURN);
agent.move(FORWARD, 10);
agent.move(RIGHT, 8);
}
if (k > 2 && k < 5) {
agent.move(LEFT, 5);
}
}
}
function cloneStracture1410() {
head.forEach(function (element) {
element.forEach(function (block) {
block.forEach(function (item) {
if (item !== AIR) { // ブロックが空気でないかチェック
agent.setItem(item, 1, 1);
agent.place(DOWN);
}
agent.move(LEFT, 1);
});
agent.move(RIGHT, block.length);
agent.move(FORWARD, 1);
});
agent.move(BACK, element.length);
agent.move(UP, 1);
});
}
player.onChat("14-10", function () {
agent.move(UP, 1);
agent.move(FORWARD, 1);
inspectStracture1410();
agent.move(BACK, 4);
agent.turn(LEFT_TURN);
agent.move(FORWARD, 10);
agent.move(UP, 13);
agent.move(FORWARD, 2);
cloneStracture1410();
});