• CodeCombat最后一题GridMancer


    http://codecombat.com/play/level/gridmancer

    刚开始没看懂,题目,后来才慢慢看懂的,

    题目要求,用最少的矩形框填充空白的地方

    var grid = this.getNavGrid().grid;
    var tileSize = 4;
    for(var y = 0; y + tileSize < grid.length; y += tileSize) {//控制行y=0,是最下面一行
        for(var x = 0; x + tileSize < grid[0].length; x += tileSize) {//遍历y行的所有列
            var occupied = grid[y][x].length > 0;//判断y行x列,是否被占用[length为0或1,0表示未填充]
            if(!occupied) {
                this.addRect(x + tileSize / 2, y + tileSize / 2, tileSize, tileSize);
                this.wait();  // Hover over the timeline to help debug!
            }
        }
    }

    上面是题目提供的原始代码,可以将所有的空白地砖填充,但是一共用了176个方块。

    测试代码如下,可以手动填充

    this.addRect(6,6,12,12);
    this.addRect(14,12,4,24);
    this.addRect(18,26,4,12);
    this.addRect(26,22,12,4);
    this.addRect(30,10,4,20);

    填充效果如下

    从左向右,一个是五个矩形,对应上面的5行测试代码

  • 相关阅读:
    团队冲刺第三天
    NoSQL数据库基础概述
    团队开发冲刺第九天
    团队开发冲刺第八天
    团队开发冲刺第七天
    团队开发冲刺第六天
    团队开发冲刺第五天
    团队开发冲刺第四天
    团队开发冲刺第三天
    第九周总结
  • 原文地址:https://www.cnblogs.com/chucklu/p/3969789.html
Copyright © 2020-2023  润新知