我想将这个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;
}
}
答案 0 :(得分:2)
代码定义了一个名为Packer
的对象,其构造函数接受w
和h
个参数。
它还定义了以下方法:
fit(blocks)
findNode(root, w, h)
splitNode(node, w, h)
该对象有一个名为root
的成员变量,用于保存某些状态。其余的应该是可以理解的,祝你好运。