【问题标题】:Randomly generating lake for 2d tile game为 2d 瓷砖游戏随机生成湖泊
【发布时间】:2013-07-28 20:32:46
【问题描述】:

我有一个关于 2d 瓷砖游戏中随机生成的湖泊的问题。我使用一个二维 int 来保存图块的值。每个值代表一个图像(16x16 正方形的 E.G 草)。

所以我想出了这里可能已经知道的这种方法,但我使用的是“青蛙”。青蛙跳来跳去创建源块。每个源块与其他源块的距离不能超过 2-4 个图块。然后,在源周围绘制一个特定的图形:

        map[startX][startY] = tile;
        map[startX-1][startY] = tile;
        map[startX-2][startY] = tile;
        map[startX+1][startY] = tile;
        map[startX+2][startY] = tile;
        map[startX][startY-1] = tile;
        map[startX][startY-2] = tile;
        map[startX][startY+1] = tile;
        map[startX][startY+2] = tile;
        map[startX+1][startY+1] = tile;
        map[startX-1][startY+1] = tile;
        map[startX+1][startY-1] = tile;
        map[startX-1][startY-1] = tile;

startX,startY 是绘制图形的坐标。 当然,这都是硬编码的。我想知道,是否有任何算法或方法可以自动执行此操作?你会给出图形的大小(这个设置为 2),它会为你做。

这是图:http://tinypic.com/r/2mcu1ol/5

【问题讨论】:

    标签: java map 2d tile


    【解决方案1】:

    我认为这应该可行:

    int size=2;
    
    for(int i=0;i<=size;i++)
    {
        for(int j=i-size;j<=size-i;j++)
        {
            map[startX+i][startY+j]=tile;
            map[startX-i][startY+j]=tile;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      相关资源
      最近更新 更多