2013-07-28 5 views
0

2 차원 타일 기반 게임에서 무작위로 생성 된 호수에 관한 질문이 있습니다. 타일의 값을 유지하는 2 차원 int를 사용합니다. 각 값은 이미지 (E.G 잔디의 16x16 제곱)를 나타냅니다.임의로 2 차원 타일 게임을위한 호수 생성

그래서 나는 이미 여기에서 이미 알려진이 방법을 생각해 냈지만 나는 '개구리'를 사용합니다. 개구리는 소스 블록을 만드는 데 뛰어납니다. 각 소스 블록은 다른 소스 블록에서 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로 설정 됨) 나중에 사용하게됩니다.

을 Heres 그림 : http://tinypic.com/r/2mcu1ol/5

답변

0

나는이 일을해야한다고 생각 : 일

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; 
    } 
} 
+1

감사합니다! – user2628283

관련 문제