我对基于 2d 瓷砖的游戏中随机生成的湖有疑问。我使用一个二维 int 来保存图块的值。每个值代表一个图像(16x16 正方形的 EG 草)。
所以我想出了这个方法,这里可能已经知道了,但我用的是“青蛙”。青蛙跳来跳去创建源块。每个源块与其他源块的距离不能超过 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),它会为你做。