Phaser 4 Isometric Minesweeper 3ํธ โ ๋น ์นธ ์ฐ์ ์คํ๊ณผ ์ ๊ฒ์ ํ๋ฆ ๋ง๋ค๊ธฐ
์ง๋ขฐ์ฐพ๊ธฐ์ ์๋ง์ ๋ง๋๋ ๋น ์นธ ์ฐ์ ์คํ์ BFS๋ก ๊ตฌํํ๊ณ , ์ ๊ฒ์ ๋ฒํผ๊ณผ ๋จ์ ์ง๋ขฐ ์ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ง๋ขฐ์ฐพ๊ธฐ์ ์๋ง์ ๋ง๋๋ ๋น ์นธ ์ฐ์ ์คํ์ BFS๋ก ๊ตฌํํ๊ณ , ์ ๊ฒ์ ๋ฒํผ๊ณผ ๋จ์ ์ง๋ขฐ ์ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๊ฒฝ๊ธฐ ์์ฐ์ ์๋ก๊ตฌ ์ถฉ์ฅ๋ก3๊ธธ 12์ ์์นํ ๊ตญ๋ฐฅ์ง ๋ฐฉ๋ฌธ ํ๊ธฐ. ์์ก๊ตญ๋ฐฅ๊ณผ ๊ธฐ๋ณธ ๋ฐ์ฐฌ, ๋งค์ฅ ๋ถ์๊ธฐ, ์ฃผ์ฐจ์ ์ฌ๋ฐฉ๋ฌธ ์์ฌ๊น์ง ์ ๋ฆฌํ๋ค.
ECS scaffold ์์ ์ง๋ขฐ์ฐพ๊ธฐ ๊ท์น์ ์น์ด Mine, Flag, AdjacentMineCount ์ํ๋ฅผ ์ถ๊ฐํ๊ณ , ์ฒซ ํด๋ฆญ ์ดํ ์ง๋ขฐ๋ฅผ ๋ฐฐ์นํ๋ ํ๋ฆ์ ๊ตฌํํ์ต๋๋ค.
Phaser 4 ๊ธฐ๋ฐ ์น๊ฒ์์ ๋ธ๋ก๊ทธ์์ iframe์ผ๋ก ์๋น์คํ๊ธฐ ์ํ ์ฒซ ์คํ์ผ๋ก, Isometric Minesweeper์ ECS scaffold์ isometric ํ์ผ hover ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
ํ ์ค, ์นด์นด์ค๋ฑ ํฌ, ๋ชจ๋๋ชจ, ๋น๊ทผ, ํ๋๋จธ๋, ์ผ์ด๋ฑ ํฌ, ๋ฑ ํฌ์๋ฌ๋๋ฅผ ํ ๋ฌ ๋์ ๊พธ์คํ ํ์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ค. ์ค์ ์์ต๊ณผ ๊ฐ์ฅ ํจ์จ์ด ์ข์๋ ์ฑ, ๋ค์ ๋ฌ ๊ณํ๊น์ง ๊ณต๊ฐํ๋ค.
์์ ํต๋ญ๊ฑฐ๋ฆฌ ๋ํ ๋ง์ง ์ง๋ฏธํต๋ญ ๋ฐฉ๋ฌธ ํ๊ธฐ. ์ค๋๊ธฐ ์ฝ๋ผ๋ณด ๋งค์ฅ ๋ถ์๊ธฐ์ ๋ฉ๋ด, ์จ์ดํ , ์ฃผ์ฐจ ์ ๋ณด, ์๋ ยทํ๋ผ์ด๋ ๋ฐ๋ฐ ์์ง ํ๊ธฐ๋ฅผ ์ ๋ฆฌํ๋ค.
์ก์์ ์๋ฐ์ ์ ์ ๋ฒ์ด๋ 1์๊ฐ ๋จ์ง ๋ฌ๋ ธ์ง๋ง, ๊ฐํธํ ๋ณต์ฅ์ผ๋ก ๋๊ฐ๋ค๊ฐ ํ์๋ถ ์ ๋ฆผ๊ณผ ์์ฅ ์ธํ ์ ๋ค์ ์ ๊ฒํ๊ฒ ๋ ์ ๋ ๋ผ์ด๋ฉ ๊ธฐ๋ก์ ๋๋ค.
์์ ์ธ๋์์ ์์นํ ๋น๋น๊ตญ์ ์์๋ณธ์ ๋ฐฉ๋ฌธ ํ๊ธฐ. ๋งค์ฝคํ ๋น๋น๊ตญ์์ ๋ด๋ฐฑํ ์์น๊ตญ์, ๋ฉ๋ด ๊ฐ๊ฒฉ๊ณผ ๋งค์ฅ ๋ถ์๊ธฐ๊น์ง ์ง์ ๋ฐฉ๋ฌธ ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํ๋ค.
๊ฐํ๋ ์ค์๋ฆฌ์ ์์นํ ์นดํ์ธ๋ถ์ฌ ๋ฐฉ๋ฌธ ํ๊ธฐ. ๋ถ์ฌ์ ์๋ฌผ๋ก ๊พธ๋ฉฐ์ง ๊ณต๊ฐ์์ ์ปคํผ์ ๋์ ํธ๋ฅผ ์ฆ๊ธธ ์ ์๋ ๊ฐํ๋ ์ด์ ์นดํ๋ฅผ ์๊ฐํ๋ค.
๋ผ์ด๋ฉ ์ ์ GPX ํ์ผ์ ๋ธ๋ผ์ฐ์ ์์๋ง ๋ถ์ํด ๊ธ๊ฒฝ์ฌ, ๊ธ๋ค์ดํ, ๊ธ์ปค๋ธ, ๊ธด ์ ํ๊ณผ ๋ค์ดํ ๊ตฌ๊ฐ์ ๋ฏธ๋ฆฌ ํ์ธํ ์ ์๋ GPX ์ํ๊ตฌ๊ฐ ๋ถ์๊ธฐ๋ฅผ ์๊ฐํฉ๋๋ค.
์ ์์ ํน๋ก๋์ถ๋ก ๋ํํ ๋ค ์ฌํด์ ๋ด๋ ์ ๊ฐ๊ฐ 1000๋ง์์ฉ ์ถ๊ฐ ์ํํ ๊ณํ์ ์ธ์ฐ๋ฉด์ ์ค์ ๋ก ์๋ฉ์ผ๊ณผ ์ด์๊ฐ ์ผ๋ง๋ ์ค์ด๋๋์ง ๊ณ์ฐํด๋ดค๋ค.
๊ฐํ๋ ๋๋งํด์์์ฅ ๊ทผ์ฒ์ ์์นํ ๋ณด์คํด์์ ๋ฒ๊ฑฐ ๋ฐฉ๋ฌธ ํ๊ธฐ. ๋ฐ๋ค๋ฅผ ๋ฐ๋ผ๋ณด๋ฉฐ ์์ ๋ฒ๊ฑฐ๋ฅผ ์ฆ๊ธธ ์ ์๋ ๋ถ์๊ธฐ์ ๋ฉ๋ด, ์ฃผ์ฐจ, ์จ์ดํ ์ ๋ณด๊น์ง ์ ๋ฆฌํ๋ค.