동굴의 자동 생성 (로그 라이크 구멍 파기법) 💀

💀동굴을 창조한다💀





이번에는 동굴을 만듭니다.

💀로그라이크 오사라이 💀



>>[DTL]로그라이크(구멍 파기법)💀



이전에 만든 로그 라이크 홀 파기 알고리즘을 사용합니다.
자세한 내용은 마지막 기사을 참조하십시오.



💀 절차💀



1. 로그라이크 홀 파기법으로 로그라이크 던전 생성
2. 1 이상의 수치와 0의 수치로 2치화
3. 소음을 더해 동굴처럼 한다

이런 느낌으로 갑니다.

1. 로그라이크 홀 파기법으로 로그라이크 던전 생성



마지막 해설 기사 때 만든 "RogueLike 함수"를 사용합니다.

생성
int main() {
    std::array<std::array<std::uint8_t, 64>, 32> matrix{ {} };
    dtl::RogueLike<std::uint8_t> d(matrix, 20);
}



2. 1 이상의 수치와 0의 수치로 2치화


dtl::RogueLike<std::uint8_t> d(matrix, 20);
dtl::dungeonBinarization(matrix_, 1);


ID
이름
칼라


0.
외벽
■■파란■■

1.
내벽
■■흰색■■

2.

■■녹색■■

3.
현관
■■검정■■

4.
통로
■■황■■


1 이상의 숫자를 1로 변경합니다.



약간의 동굴이 나왔다.

3. 소음을 더해 동굴처럼 한다



이대로라면 별로 동굴 같지 않기 때문에 노이즈를 더합니다.
dtl::RogueLike<std::uint8_t> d(matrix, 20);
dtl::dungeonBinarization(matrix_, 1);
dtl::noiseShoreBothBool(matrix_, 0.1);

💀완성💀



무사히 구현할 수 있었습니다.



💀 구현 라이브러리 (소스 코드) 💀



이번 해설한 동굴의 자동 생성은 "던전 템플릿 라이브러리""RogueLike Cave" 로 구현되어 있습니다.
꼭 활용해보세요!



💀 소스 코드 라이센스 💀



These codes are licensed under CC0.
이 기사의 소스 코드는 CC0 라이센스입니다. 꼭 자유롭게 변경하여 놀아보세요. 끝까지 읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기