我正在制作我的第一个3D游戏,但我坚持了一个部分。我从来都不擅长算法,甚至数学,所以我有点困难:(
无论如何,我想生成3x3x3 (当然,如果算法可以生成任何大小的算法,那就太好了!)“结构”或任何它应该被称为的东西。1个单元是一个块/立方体。我不想让它充满块,而是随机生成形状,这样一些部分会有块,一些会是空的。所有的积木应该至少连接到另一个积木(不是对角线,而是“直”的)。
我希望您能理解我所追求的:)
我很快地用颜料画了一张小画,如果它真的有用的话。然而,我希望它是更空的,如果上面的部分比下半部分更经常是空的,那就太好了。
发布于 2011-10-03 18:45:23
为什么你不创建一些结构,然后使用随机数来确定其中的一个。如果你制作了7个不同的游戏,用户/玩家几乎不会注意到任何形式的重复。顺便说一句:如果你忽略所有旋转对称的结构,那么不应该有这么多不同的结构符合你的标准。
发布于 2011-10-03 19:50:58
作为@FlyOn评论的延伸,我建议你把这个问题看作是一个规则系统。写出/用图表表示出规则。像这样问自己一些问题:
(实体中的每个坐标块都有6个面相邻的坐标块、8个点相邻的坐标块和12个边相邻的坐标块。6+8+12+1=27=3^3)
编写逻辑,并编写一些单元测试样式的方法,这些方法通过测试调用逻辑方法。当您使用不同的输入测试它们时,看看它们是否如您所期望的那样工作。
3-space中的逻辑难题非常有趣,:)。
发布于 2011-10-03 18:54:54
您可以实现的一个示例算法:
可选:
*同时删除您已经使用过的选项
*首先为你想要填充的点的数量生成一个随机数,然后一旦你有了那么多的点,就停止算法。
*允许所有方向,只需进入立方体的‘另一边’(这可能会导致部件无法连接到其他部件)
https://stackoverflow.com/questions/7639121
复制