gpt4 book ai didi

使用种子生成 Java 2D 地形

转载 作者:行者123 更新时间:2023-12-01 21:11:59 29 4
gpt4 key购买 nike

我正在尝试在 LWJGL 中制作 2D 游戏。我在地形生成方面遇到问题。
我目前有一个生成地形的算法,但它总是随机的,我永远无法再次获得相同的世界,我想制作一个基于生成 x 和 y 坐标的算法给定的数字。

我当前的世界一代看起来像这样:

     final float STEP_MAX = 1f;
final float STEP_CHANGE = 1;
final int HEIGHT_MAX = 100;

double height = HEIGHT_MAX;
double slope = STEP_MAX;

for (int x = -WORLDSIZE; x < WORLDSIZE; x++) {
height += slope;
slope += (Math.random() * STEP_CHANGE) * 2 - STEP_CHANGE;

if (slope > STEP_MAX) slope = STEP_MAX;
if (slope < -STEP_MAX) slope = -STEP_MAX;

if (height > HEIGHT_MAX) {
height = HEIGHT_MAX;
slope *= -1;
}
if (height < 0) {
height = 0;
slope *= -1;
}
Tile newTile = new Tile(x*25,(int)height*25,25,25,TileType.Grass);
tiles.add(newTile);

预先感谢您的帮助。

最佳答案

如果您自己创建随机数生成器(而不是让 Math.random() 为您创建),您可以指定一个种子:

Random random = new Random(yourSeed);
random.nextDouble();

Random 类还有许多您可能想要查看的有用方法。

更多信息:https://docs.oracle.com/javase/8/docs/api/java/util/Random.html

关于使用种子生成 Java 2D 地形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40985687/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com