首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机生成用于2d瓦片游戏的湖

随机生成用于2d瓦片游戏的湖
EN

Stack Overflow用户
提问于 2013-07-29 04:32:46
回答 1查看 529关注 0票数 0

我有一个问题,关于随机生成的湖在2d瓦片游戏。我使用了一个二维int,它保存了tiles的值。每个值代表一个图像(16x16平方英尺的草)。

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

代码语言:javascript
复制
        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

EN

回答 1

Stack Overflow用户

发布于 2013-07-29 05:09:23

我认为这应该行得通:

代码语言:javascript
复制
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;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17912586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档