"랜덤 맵 생성"의 두 판 사이의 차이

jjuiddong
이동: 둘러보기, 찾기
(맵 생성)
(맵 생성)
10번째 줄: 10번째 줄:
 
# 방을 랜덤하게 위치 시킨다.
 
# 방을 랜덤하게 위치 시킨다.
 
# 방을 잇는 길을 생성한다.
 
# 방을 잇는 길을 생성한다.
## 방을 선택한다.
+
## 길이 이어지지 않은 방을 선택한다.
 
## 방으로부터 나가는 길을 생성한다.
 
## 방으로부터 나가는 길을 생성한다.
 
## 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방에 가중치를 주어 이동한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.
 
## 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방에 가중치를 주어 이동한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.

2014년 11월 2일 (일) 23:28 판

랜덤 맵 생성

2D 던젼을 랜덤으로 생성한다. 던젼은 입구, 출구, 광장, 방, 길로 이뤄져 있다. 랜덤으로 생성된 방은 다음 조건을 만족해야 한다.

  • 랜덤으로 위치된 광장과 방은 서로 겹치지 않아야 한다.
  • 둘 이상의 특정 방은 서로 연관되어서 위치 할 수 있다. (어떤 두개의 방은 항상 반대 방향에 놓여 있어야 한다.)
  • 모든 방은 고립되지 않아야 한다.
    • 모든 방은 어떤 방에 있든 접근 할 수 있어야 한다.

맵 생성

  1. 방을 랜덤하게 위치 시킨다.
  2. 방을 잇는 길을 생성한다.
    1. 길이 이어지지 않은 방을 선택한다.
    2. 방으로부터 나가는 길을 생성한다.
    3. 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방에 가중치를 주어 이동한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.
    4. 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다.
  3. 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다.

참조 문서

개인 도구
이름공간

변수
행위
둘러보기
도구모음