我正在研究俄罗斯方块式的HTML5游戏,需要加强空间优化算法.需要以最节省空间的方式将不同大小的矩形块添加到画布中.我知道这个块占用了多少空间,我需要找到一个最近的点,块可以添加一个固定的x坐标 - 绝对最近的点是一个不错的选择.
我实现了进行搜寻逐像素值向下推动,直到它找到形状足够的自由空间,在画布上检查版本,然后将其添加.此作品(慢)只有在空间罢了左右的算法可以放心地假设,如果第一像素列是安全的,然后可以加入整个块.
我需要让这个更加强大,这就是我认为应该去的地方.
存储四叉树来表示电路板状态使我能够更快地识别出有空间的位置.

为每个深度级别存储4个节点 - 每个节点为0表示完全为空,或者1表示"在某处有某些东西".每个渐进的深度级别都会提供有关电路板的越来越多的信息.
given(boardstate, block width, block height)
-calculate the largest grid space the block must span
// a block which is 242x38 MUST span a 16x16 free space
// (based on 1/2 of smallest dimension)
-the block width requires n consecutive free spaces
// (242/16) = 15
-find the first available 15x1 spaces in the board
-check the surrounding tiles at the next level of depth for collisions
-check the surrounding tiles at …Run Code Online (Sandbox Code Playgroud) 我想创建一个TreeMap,使用图片填写treemap矩形.我可以假设所有图片都具有相同的宽度和高度(即宽高比).因此,我需要一个treemapping算法来创建具有给定比率的矩形,我是否能够将图片放在那里(如果需要,可能会缩放图片).
你能推荐一个吗?