์ด๋ฐ์์ผ๋ก ์ฌ๊ฐํ์ n๊ฐ ์ค์ ํ๋ฉด n๊ฐ๊ฐ ์๋ก ์ฐ๊ฒฐ๋๋ฉด์ ๋ฌด์์๋ก ๋ฐฐ์น๋๋ ๋ก๊ทธ๋ผ์ดํฌ ๋งต์ ๊ตฌ์ํ๋๋ฐ ์ด๋ป๊ฒ ๋ง๋ค์ง ๋์ ํ ์์ด๋์ด๊ฐ ์๋ ์ค๋ฆ ๋๋ค. ์ด๋ป๊ฒ ํ๋ฉด๋ ๊น์?
์ฒ์์๋ (0.0)์ ํ๋๋ฅผ ๋ง๋ค๊ณ ์ฌ๊ฐํ์ด ๋์ด๋ ๋๋ง๋ค ๋์๋จ๋ถ์ค ํ๋๋ฅผ ๋๋ค์ผ๋ก ์ ํด ํ์ฅํ๋๊ฒ์ ๊ตฌ์ํ๋๋ฐ ์ขํ์ค๋ณต๋๋ฌธ์ ํ๋ค๊ณ
8X8์ ๋ง๋ค๊ณ ๊ตฌ๋ฉ3~4๊ฐ ๋๋ค์ผ๋ก ๋ซ๋๊ฒ๋ ์๊ฐํด ๋ดค์ง๋ง ๋ก๊ทธ๋ผ์ดํฌ ํน์ฑ์ ๊ธธ์ด ๋งํ๋ฉดย ย ์๋๋ฏ๋ก ํ๊ธฐ.
ํน์ ์ข์ ์์ด๋์ด๋ ์ด๋ฐ ๋น์ทํ ๋งต๋์์ธ์ ์ฌ๋ ค๋์ ๋งํฌ๊ฐ ์๋์? ์๋ฌธ๋งํฌ๋ผ๋ ํ์์ ๋
procedural generation
http://www.roguebasin.com/
https://unity3d.com/kr/learn/tutorials/s/2d-roguelike-tutorial
๋ฏธ๋ก ์์ฑ, maze generator ํค์๋๋ก ๊ตฌ๊ธ๋ง ใฑ
๊ฐ์ฅ ์ค์ํ ๊ฑด ์ธ์ ๋ ๋ชจ๋ ๋ฐฉ์ด ์ด์ด์ ธ ์์ด์ผ ํ์์? ๊ทธ๋ฌ๋ฉด ๋จผ์ ์๊ฐํ ์ ์๋๊ฑด spanning tree๋ฅผ ๋ง๋๋๊ฑฐ์ง. ๊ฐ ๋ฐฉ์ ๋ ธ๋๋ก ๋ณด๊ณ 4๋ฐฉํฅ์ edge์ ๋๋คํ weight๋ฅผ ๋ถ์ฌํ ๋ค์ minimum spanning tree๋ฅผ ์์ฑํด. ์ด๊ฑฐ ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ช ํ ๊ฑฐ ๋ ๊ฐ ์์ผ๋๊น ์ฐพ์๋ณด๊ณ . ๊ทธ๋ฆฌ๊ณ 4๋ฐฉํฅ ์ค์ ๋ฐฉ์ด ์๋ ๊ณณ์ weight๋ฅผ ๋ฌดํ๋(infinite)๋ก ํด ๋์ผ๋ฉด ๋จ. ์ผ๋จ ๊ทธ๋ ๊ฒ spanning tree๊ฐ ๋ง๋ค์ด์ง๊ณ ๋๋ฉด ๊ธธ์ด ์ด์ด์ง์ง ์์ ๊ณณ ์ค์ ์๋ฌด๋ ๊ฒ๋ ๊ธธ์ ์ถ๊ฐํด๋ ์๊ด์์ด ๋ชจ๋ ๋ฐฉ์ด ์ฐ๊ฒฐ๋ ์ํ๋ ์ ์ง๋จ.
๊ทธ๋ฆฌ๊ณ ์ฐ๊ฒฐ ๋ชจ์์ ์ปจํธ๋กคํ๊ณ ์ถ์ผ๋ฉด ์ฒ์์ weight ๊ฐ์ ์ด๊ธฐํ ํ ๋ ์ฐ๊ฒฐ๋ ํ๋ฅ ์ ๋์ด๊ณ ์ถ์ผ๋ฉด ํฐ๊ฐ์ ๋ฃ๊ณ ๋ฎ์ถ๊ณ ์ถ์ผ๋ฉด ์์ ๊ฐ์ ๋ฃ์ผ๋ฉด ๋๊ฒ ์ง
๊ตฌ๊ธ๋ง ํค์๋ : connected graph generation, minimum spanning tree
๋ฌผ๋ก ํ๋ทฐ๊ฐ ์๋ ์ฌ์ด๋๋ทฐ์ง๋ง ์คํ ๋ ํค๋ ์ ๋ฐ ์์ผ๋ก ๋งต ์์ฑํ๋ ๊ฑธ๋ก ์๊ณ ์์