๐ŸŽฎ FruitSpinner ๊ฐœ๋ฐœ์ผ์ง€ #3 — ๊ฒŒ์ž„์˜ ๋ผˆ๋Œ€๋ฅผ ์„ธ์šฐ๋‹ค

1ํŽธ์—์„œ ์•„์ด๋””์–ด๋ฅผ ์žก๊ณ , 2ํŽธ์—์„œ AI์™€ ํ•จ๊ป˜ ๊ฐœ๋ฐœ ๋ฐฉํ–ฅ์„ ์ •ํ–ˆ๋‹ค๋ฉด, ์ด๋ฒˆ 3ํŽธ์€ ์‹ค์ œ ๊ฒŒ์ž„์˜ ๋ผˆ๋Œ€๊ฐ€ ๋˜๋Š” ํ•ต์‹ฌ ์‹œ์Šคํ…œ๋“ค์„ ๊ตฌํ˜„ํ•œ ์ด์•ผ๊ธฐ๋‹ค. ์œก๊ฐํ˜• ๊ฒฉ์ž, ๋ณด๋“œ ํšŒ์ „, ๋งค์นญ ํŒ์ •๊นŒ์ง€ — ๊ฒŒ์ž„์ด ๊ฒŒ์ž„๋‹ค์›Œ์ง€๋Š” ์ˆœ๊ฐ„๋“ค์ด์—ˆ๋‹ค.

๐ŸŽ ์œก๊ฐํ˜• ๊ฒฉ์ž๋ผ๋Š” ์„ ํƒ

1ํŽธ์—์„œ ์ž ๊น ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ, ์›ํ˜• ๋ฐฐ์น˜์—์„œ ์œก๊ฐํ˜• ๊ฒฉ์ž๋กœ ๋ฐ”๊พผ ๊ฑด ์ด ํ”„๋กœ์ ํŠธ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์  ๊ฒฐ์ •์ด์—ˆ๋‹ค.

์›ํ˜• ๋ฐฐ์น˜์˜ ๋ฌธ์ œ๋Š” ๋‹จ์ˆœํ•˜๋‹ค. ๋ฐ”๊นฅ ๋ง์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๊ฐ™์€ ๋ง ๋‚ด ๊ณผ์ผ ์‚ฌ์ด ๊ฐ„๊ฒฉ์ด ๋ฒŒ์–ด์ง„๋‹ค. ์•ˆ์ชฝ์€ ๋นฝ๋นฝํ•œ๋ฐ ๋ฐ”๊นฅ์€ ๋“ฌ์„ฑ๋“ฌ์„ฑ. ์ด์›ƒ ํŒ์ •๋„ ์–ด๋ ค์›Œ์ง€๊ณ  ๋ณด๊ธฐ์—๋„ ์–ด์ƒ‰ํ•˜๋‹ค.

์œก๊ฐํ˜• ๊ฒฉ์ž(Hex Grid)๋Š” ์ด ๋ฌธ์ œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•œ๋‹ค. ๋ชจ๋“  ๊ณผ์ผ์ด ์ •ํ™•ํžˆ 6๊ฐœ์˜ ์ด์›ƒ๊ณผ ๋™์ผํ•œ ๊ฑฐ๋ฆฌ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ๋ฒŒ์ง‘ ๊ตฌ์กฐ์™€ ๊ฐ™์€ ์›๋ฆฌ๋‹ค.

⚙️ ํ๋ธŒ ์ขŒํ‘œ ์‹œ์Šคํ…œ

์œก๊ฐํ˜• ๊ฒฉ์ž๋ฅผ ์ฝ”๋“œ๋กœ ๋‹ค๋ฃจ๋ ค๋ฉด ์ขŒํ‘œ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•˜๋‹ค. ์ผ๋ฐ˜์ ์ธ x, y ๋Œ€์‹  ํ๋ธŒ ์ขŒํ‘œ(q, r, s)๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์„ธ ๊ฐ’์˜ ํ•ฉ์ด ํ•ญ์ƒ 0์ด ๋˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ์–ด์„œ, ์ด์›ƒ ์ฐพ๊ธฐ์™€ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ์ด ๋‹จ์ˆœํ•œ ๋ง๋บ„์…ˆ์œผ๋กœ ํ•ด๊ฒฐ๋œ๋‹ค.

์ด์›ƒ์„ ์ฐพ์„ ๋•Œ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉด ํšŒ์ „ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ํƒ€์›ํ˜• ํƒ์ƒ‰๋„ ๊ณ ๋ คํ•ด๋ดค์ง€๋งŒ, ํŒ์ด ํšŒ์ „ํ•˜๋ฉด ํƒ€์› ๋ฐฉํ–ฅ๋„ ๊ฐ™์ด ๋Œ์•„์•ผ ํ•ด์„œ ๋ณต์žกํ•ด์ง„๋‹ค. ๊ฒฐ๊ตญ ๊ฒฉ์ž ์ขŒํ‘œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด์›ƒ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์ด์—ˆ๋‹ค.

๐Ÿ”ฅ ํšŒ์ „ํ•˜๋Š” ๋ณด๋“œ

๋ฒ„๋ธ” ์Šคํ”ผ๋„ˆ์˜ ํ•ต์‹ฌ์€ ํšŒ์ „์ด๋‹ค. ๊ณผ์ผ์„ ๋ฐœ์‚ฌํ•  ๋•Œ๋งˆ๋‹ค ์ถฉ๋Œ ์ง€์ ์— ๋”ฐ๋ผ ๋ณด๋“œ ์ „์ฒด๊ฐ€ ํšŒ์ „ํ•œ๋‹ค. ์ด๊ฒŒ ๋‹จ์ˆœํ•œ ํผ์ฆ์„ ์ „๋žต ๊ฒŒ์ž„์œผ๋กœ ๋งŒ๋“œ๋Š” ์š”์†Œ๋‹ค.

๊ตฌํ˜„ ์ž์ฒด๋Š” Canvas์˜ translate + rotate๋กœ ์–ด๋ ต์ง€ ์•Š๋‹ค. ๋ฌธ์ œ๋Š” ํšŒ์ „ ํ›„์—๋„ ๊ณผ์ผ ์ด๋ชจ์ง€๊ฐ€ ๋˜‘๋ฐ”๋กœ ๋ณด์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์œก๊ฐํ˜• ๋ฐฐ๊ฒฝ์€ ํŒ๊ณผ ํ•จ๊ป˜ ํšŒ์ „ํ•˜๋˜, ์œ„์— ์˜ฌ๋ผ๊ฐ€๋Š” ์ด๋ชจ์ง€๋Š” ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์„ ์ƒ์‡„์‹œ์ผœ์„œ ํ•ญ์ƒ ์ •๋ฉด์„ ํ–ฅํ•˜๊ฒŒ ํ–ˆ๋‹ค.

๐Ÿ› ️ ๋งค์นญ ํŒ์ •

๊ฐ™์€ ๊ณผ์ผ 3๊ฐœ ์ด์ƒ์ด ์—ฐ๊ฒฐ๋˜๋ฉด ํ„ฐ์ง€๋Š” ๋กœ์ง. BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)๋กœ ๊ฐ™์€ ์ƒ‰ ์ด์›ƒ์„ ํƒ€๊ณ  ๊ฐ€๋ฉด์„œ ๊ทธ๋ฃน์„ ์ฐพ๊ณ , 3๊ฐœ ์ด์ƒ์ด๋ฉด ๋งค์นญ ์„ฑ๊ณต์ด๋‹ค.

์—ฌ๊ธฐ์— "๋– ์žˆ๋Š” ๊ณผ์ผ" ํŒ์ •๋„ ํ•„์š”ํ•˜๋‹ค. ๋งค์นญ์œผ๋กœ ๊ณผ์ผ์ด ์‚ฌ๋ผ์ง€๋ฉด, ์ค‘์‹ฌ์ถ•๊ณผ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ๊ณผ์ผ ๊ทธ๋ฃน์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ๋„ BFS๋กœ ์ค‘์‹ฌ์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ๊ณผ์ผ์„ ์ฐพ๊ณ , ๋„๋‹ฌ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค์€ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค.

๐Ÿ’ก ์„ผํ„ฐ๋Š” ๊ณผ์ผ์ด ์•„๋‹ˆ๋‹ค

์ดˆ๊ธฐ์—๋Š” ์ค‘์•™์—๋„ ๊ณผ์ผ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ "์„ผํ„ฐ๋Š” ๊ณผ์ผ์ด๋ฉด ์•ˆ ๋˜๊ณ , ํšŒ์ „ํŒ์˜ ์ค‘์‹ฌ์ถ•์ฒ˜๋Ÿผ ํ‘œํ˜„ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค"๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ค‘์‹ฌ์ถ•์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ณผ์ผ์„ ์—†์• ๋ฉด ์Šน๋ฆฌ. ์ด ๊ทœ์น™์ด ๊ฒŒ์ž„์˜ ๋ชฉํ‘œ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์คฌ๋‹ค.

๐ŸŽฏ ๊ถค์  ์˜ˆ์ธก์„ 

๊ณผ์ผ์„ ์–ด๋””๋กœ ๋ฐœ์‚ฌํ• ์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์ ์„  ๊ถค์ ์„ ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋ฒฝ์— ๋ฐ˜์‚ฌ๋˜๋Š” ๊ฒฝ๋กœ๊นŒ์ง€ ๋ฏธ๋ฆฌ ๋ณด์—ฌ์ค˜์„œ, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ „๋žต์ ์œผ๋กœ ์  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค. ๊ธฐ๋ณธ ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ๋‘๊ณ , ์ˆ™๋ จ์ž๋ฅผ ์œ„ํ•ด ๋Œ ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜๋„ ๊ณ ๋ คํ–ˆ๋‹ค.

๐Ÿ“ ๋‹ค์Œ ๊ธ€์—์„œ๋Š”

๊ณผ์ผ์ด ํ„ฐ์ง„ ํ›„ ๋ฒŒ์–ด์ง€๋Š” ์ผ, ๋ฐ”๋กœ ์ฃผ์Šค ๋งŒ๋“ค๊ธฐ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋‹ค๋ฃฐ ์˜ˆ์ •์ด๋‹ค. ๋งค์นญ๋œ ๊ณผ์ผ์ด ํŒŒ์ดํ”„๋กœ ๋นจ๋ ค ๋“ค์–ด๊ฐ€๊ณ , ๊ฐˆ๋ ค์„œ ์ฃผ์Šค๊ฐ€ ๋˜๋Š” 4๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ ์ด์•ผ๊ธฐ.

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

๐ŸŽฎ FruitSpinner ๊ฐœ๋ฐœ์ผ์ง€ #1 — ์•„์ด๋””์–ด์˜ ์‹œ์ž‘

๐ŸŽฎ FruitSpinner ๊ฐœ๋ฐœ์ผ์ง€ #5 — ๋ณด์ด๋Š” ๊ฒƒ์ด ์ „๋ถ€๋‹ค

๐ŸŽฎ FruitSpinner ๊ฐœ๋ฐœ์ผ์ง€ #4 — ๊ณผ์ผ์ด ์ฃผ์Šค๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€