13-6 海を望んで①

解説動画

解答コード

function cloneLine13_6() {
    arr.forEach(function (element) {
        agent.setItem(element, 1, 1);
        agent.place(DOWN);
        agent.move(RIGHT, 1);
    });
    agent.move(LEFT, arr.length);
}

function inspectLine13_6() {
    arr = [];
    // 5ブロック読み込む
    for(let i = 0; i < 5; i++) {
        let block_type = agent.inspect(AgentInspection.Block, DOWN);

        // ブロックのデータを配列に格納する
        arr.push(block_type);

        agent.move(RIGHT, 1);
    }
    agent.move(LEFT, 5);
}

player.onChat("13-6", function () {
    agent.move(FORWARD, 1);
    inspectLine13_6();
    agent.move(FORWARD, 1);

    while (Block.Air == agent.inspect(AgentInspection.Block, DOWN)) {
        cloneLine13_6();
        agent.move(FORWARD, 1);
    }
});