java - 使用程序生成生成由图 block 组成的 16 x 16 block

标签 java algorithm sandbox tile procedural-generation

在我的 2d 沙盒游戏的编程中,我决定添加一个程序生成引擎来生成地形。我决定实现它的方式是使用菱形方 block 算法生成值,然后根据这些值我将推导出匹配的地形(每个地形都有一个可以生成的范围。我能找到的算法的唯一例子(找到 here )需要奇数网格大小(即 17 x 17,而不是 16 x 16)才能生成。我明白为什么,想知道我是否应该使用不同的算法,或者是否有办法让它与这个算法。

最佳答案

对于 17x17 网格上的数字,您只需取每个小方 block 的 4 个角的平均值即可得到该方 block 的数字。例如,使用 3x3 而不是 17x17,假设您有

3--2--1
|  |  |
4--3--1
|  |  |
5--4--2

该网格定义了 4 个小方 block 。方 block 会有值

(3+2+4+3)/4=3.00  (2+1+3+1)/4=1.75
(4+3+5+4)/4=4.00  (3+1+4+2)/4=2.50

将 17x17 网格变成 16x16 正方形的想法相同。还是我没听懂?

关于java - 使用程序生成生成由图 block 组成的 16 x 16 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32061730/

相关文章:

java - 如何清除Redis Stream中的记录,只留下N条最新记录?

algorithm - 以距离矩阵为输入的聚类[评估]算法

objective-c - iOS 应用内购买 : only one payment added to the SKPaymentQueue but a SKPaymentTransactionObserver method is getting called multiple times

java - 如何获取加载 XSL 页面的 URL?

java - 如何离线模式运行spring项目?

algorithm - 将有向图编码为数字

c++ - 如何高效实现任意序列的按位旋转?

api - 为 paypal SANDBOX 创建 API 凭据

java - 是否可以仅对 Runnable 进行沙箱处理

Java GUI - 华氏度到摄氏度