解説動画
解答コード
let arrfloor1 = [[0]];
let arrfloor2 = [[0]];
function cloneFloor(arrfloor = [[0]]) {
arrfloor.forEach(function (element) {
element.forEach(function (block) {
agent.move(FORWARD, 1);
agent.setItem(block, 1, 1);
agent.place(DOWN);
});
agent.move(BACK, element.length);
agent.move(RIGHT, 1);
});
}
function inspectFloor() {
let arrfloor = [];
for(let i = 0; i < 3; i++) {
let arrline = [];
for(let j = 0; j < 6; j++) {
agent.move(FORWARD, 1);
let block_type = agent.inspect(AgentInspection.Block, DOWN);
arrline.push(block_type);
}
arrfloor.push(arrline);
agent.move(BACK, 6);
agent.move(RIGHT, 1);
}
return arrfloor;
}
player.onChat("13-9", function () {
// 読み取り位置に移動
agent.move(RIGHT, 5);
// 1つ目の床を読み取る
arrfloor1 = inspectFloor();
// 2つ目の床に移動
agent.move(RIGHT, 2);
// 2つ目の床を読み取る
arrfloor2 = inspectFloor();
// スタート位置に戻る
agent.move(LEFT, 13);
// 1つ目の床を複製する
cloneFloor(arrfloor1);
agent.move(LEFT, 8);
cloneFloor(arrfloor2);
});