将JavaScript代码转换为python

时间:2012-10-07 15:14:14

标签: javascript python

我想将这个JavaScript代码转换为python,我还没有在JS中基础。

所以我不知道如何翻译上面的代码。

请提供任何帮助或建议

Packer = function(w, h) {
  this.root = { x: 0, y: 0, w: w, h: h };
};

Packer.prototype = {

  fit: function(blocks) {
    var n, node, block;
    for (n = 0; n < blocks.length; n++) {
      block = blocks[n];
      if (node = this.findNode(this.root, block.w, block.h))
        block.fit = this.splitNode(node, block.w, block.h);
    }
  },

  findNode: function(root, w, h) {
    if (root.used)
      return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);
    else if ((w <= root.w) && (h <= root.h))
      return root;
    else
      return null;
  },

  splitNode: function(node, w, h) {
    node.used = true;
    node.down  = { x: node.x,     y: node.y + h, w: node.w,     h: node.h - h };
    node.right = { x: node.x + w, y: node.y,     w: node.w - w, h: h          };
    return node;
  }

}

1 个答案:

答案 0 :(得分:2)

代码定义了一个名为Packer的对象,其构造函数接受wh个参数。

它还定义了以下方法:

fit(blocks)
findNode(root, w, h) 
splitNode(node, w, h)

该对象有一个名为root的成员变量,用于保存某些状态。其余的应该是可以理解的,祝你好运。