16-9 砂埃に埋もれた誇り④

解説動画

解答コード

let structure = [[0]];
// 読み取る
function inspectStructure() {
    structure = [];
    for (let i = 0; i < 7; i++) {
        let line = [];
        for (let j = 0; j < 3; j++) {
            let block_type = agent.inspect(AgentInspection.Block, FORWARD);
            line.push(block_type);
            agent.move(LEFT, 1);
        }
        
        structure.push(line);
        agent.move(RIGHT, 3);
        agent.move(UP, 1);
    }
}

// 複製
function cloneStructure() {
    structure.forEach(function (element) {
        element.forEach(function (block) {
            agent.setItem(block, 1, 1);
            agent.place(FORWARD);
            agent.move(UP, 1);
        });
        agent.move(DOWN, element.length);
        agent.move(RIGHT, 1);
    });
}

player.onChat("16-9", function () {
    // 読み取る
    inspectStructure();

    // 複製先へ移動
    agent.move(UP, 1);
    agent.move(RIGHT, 1);
    agent.move(FORWARD, 1);
    // 複製
    cloneStructure();
});