在矩阵中分配多个二维空间的算法

问题描述 投票:0回答:1

任何人都可以向我指出可以执行以下操作的算法或概念的方向。到目前为止,我的搜索引导我找到“货架空间分配”和“内存分配”。但我觉得可能有更适合我的需求的东西。

在我的游戏中,我有一个二维数组,它代表太空飞船的形状。 1代表船体,0代表船体外部的孔洞和空间。

我有 N 支枪,每支枪的尺寸都是二维的。现在我想在矩阵中找到每支枪可以安装的 1。因此,如果我有 2 支尺寸为 2x2 的枪和 3 支尺寸为 3x3 的枪。我想在矩阵中找到 2 个不重叠的点,其中 2x2 1 可用,在矩阵中找到 3 个这样的点,其中 3x3 1 可用。

很高兴拥有:

  1. 枪械对称排列
  2. 尺寸不均匀/非方形的枪支
  3. 考虑到枪之间的空间,所以两把枪不是紧挨着的

我只需要一些算法或过程的名称,我可以用它们来实现这一点。

谢谢你。

matrix 2d inventory procedural-generation inventory-management
1个回答
0
投票

可能有一个更具体的名称,但我认为您所描述的称为“包装问题”,具有离散网格上的额外约束以及您的必备品列表。

© www.soinside.com 2019 - 2024. All rights reserved.