2016-12-06 70 views
0

我想在LWJGL中制作2D游戏。我遇到地形生成问题。
我目前有一个算法来生成地形,但它总是随机的,我再也不能得到同一个世界我想要做一个算法,根据给定的数字生成一个x和y坐标。使用种子生成Java 2D地形

我目前世界生成看起来是这样的:

 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); 

预先感谢您的帮助。

+2

'Random'需要的种子,这将导致每一次相同的序列。 – teppic

+0

你是什么意思随机采取种子? – Setlock

回答