๋ฌด์์ธ๊ฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ด๋ป๊ฒ ํ๋ฉด ๋จ์ํ ํ ์ ์์๊น...
์ ๋ํด ์ด๋ฐ ์ ๋ฐ ๊ณ ๋ฏผ์ ํ๊ณ ์์๋ค.
์๋๋ฉด ์ฝ๋์ค์ ์ด๋ฐ ๋ง์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ธ๋ฐ
๋ณด๋ค์ํผ string ์ผ๋ก ๋ถ๊ธฐํ์ฌ ๋ฌด์จ ์ผ์ ํ ์ง (๊ฑด๋ฌผ์ ๋ง๋ค์ง, ์์ด์ปจ์ ๋ง๋ค์ง, ํฐ๋ ์ ๋ง๋ค์ง...)๋ฅผ ์ ํด์ฃผ๊ณ ์๋ค.
๋น์ฐํ๋ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก
'๋น๋ฉ, ์์ด์ปจ, ํฐ๋ ์ ์ด๋ค IConstructable ๊ฐ์ ์ธํฐํ์ด์ค๋ ์์ ํด๋์ค๋ก ๋ฌถ์ด์ฃผ๋ ์์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ๋๊ฒ ๊ตฐ..'
ํ๋ ์๊ฐ์ ํ๋ค๊ฐ ๋ญ๊ฐ ๋ญ๊ฐ ์ค๊ฐ๊ณผ์ ๋ง ์๊พธ ๋ง๋๋ ๊ฒ ๊ฐ์์ ๊ณ ๋ฏผ์ ์ข ํด๋ด.
๊ทธ๋ฌ๋ค ๋ ์ค๋ฅธ ์๊ฐ์ด
'๊ฒ์์ ๋ชจ๋ ์ ๋ณด๋ค์ด ๊ณ ์ ํ ์ด๋ฆ์ ๊ฐ์ง๋ฉด, ์ด๋ฆ๊ณผ ํด๋์คํ์ ์ ์ ์ํ๋ ๋์ ๋๋ฆฌ ํ๋๋ก ๋ชจ๋ ์์๊ตฌ์กฐ๋ฅผ ํด์ณ๋๊ฐ ์ ์๊ฒ ๋ค'
์ด๊ฒ ๋ญ ๊ฐ์๋ฆฌ๋๋ฉด
์ฐ๋ฆฌ๊ฐ ๋ณดํต '์คํฌ'๋ผ๊ณ ํ๋ฉด '๋ฐ์ด๋๊ธฐ๋ ๋ชฌ์คํฐ ์คํฌ' ๋ฅผ ์๊ฐํ์ง ์์ดํ ์ผ๋ก์์ ์คํฌ๋ ๋ฌด๊ธฐ๋ก์์ ์คํฌ๋ฅผ ์๊ฐํ์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ด๋ค.
์ฆ, ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์ผ์์ด์ ์ด๋ฏธ ํด๋น ํด๋์ค์ ํ์ ์ด ์ด๋์ ๋ ์ ํด์ ธ ์๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ๋ค์ ํ
์ด๋ธ๋ง ํ๋ ๋ณ๋๋ก ์กด์ฌํ๋ฉด ๋๋ค!
[์ด๋ฆ-ํ์ ํ ์ด๋ธ]
"์คํฌ"/๋ชฌ์คํฐ
"์ฐธํผ"/๋ชฌ์คํฐ
"์ง๊ตฌ์ธ"/์ฌ๋
"์์ค์นผ๋ฆฌ๋ฒ"/์์ดํ
"์ฝํ์ดํ "/์์ดํ
์ด ํ ์ด๋ธ์ด ์๋ค๋ฉด, ๊ฐ๋จํ๊ฒ
SpawnEntity ("์คํฌ", vector2(10,20));
ํ์ค๋ง์ผ๋ก ๋ญ ๋ง๋ค์ด์ผ ํ ์ง ์ปดํจํฐ์๊ฒ ์ํฌ ์ ์๊ฒ ๋๋ค.
์ปดํจํฐ๋ "์คํฌ"๋ผ๋ ์ด๋ฆ์ด '๋ชฌ์คํฐ' ํ์ ์ธ ๊ฒ์ ์ ํ ์ด๋ธ์ ํตํด ์ ์ ์์ผ๋ฏ๋ก
์ ์ฝ๋๋ฅผ ํด์ํ์ฌ (๋ถ๊ธฐํ์ฌ) SpawnMonster()๋ฅผ ํธ์ถํ ์ ์๋ค๋ ๊ฒ.
๊ฐ๋ฐ์๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ '๊ฐ๋จํ๊ฒ ๋ช
๋ นํ ์ ์๋ค' ๋ ๊ฒ์ ๊ฐ๋ ฅํ๋ค.
์ด ๋ฐฉ๋ฒ์ ๋ฌธ์ ๋ ๊ฐ์ ์ด๋ฆ์ด 2๊ณณ์์ ์ฌ์ฉ๋ ์ ์๋ค๋ ๊ฒ.
'์์ค์นผ๋ฆฌ๋ฒ' ๋ผ๋ ์ด๋ฆ์ ๋ชฌ์คํฐ์ ๋ฌด๊ธฐ, ์ง๋ช ์ด ๋์์ ์กด์ฌํ ์ ์๋ค.
๊ฒ์์ด ๊ต์ฅํ ์ปค์ง๋ค๋ณด๋ฉด ์ด๋ฆ-ํ์
ํ
์ด๋ธ์์ ์ถฉ๋์ด ์ผ์ด๋ ์ ์์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ฐ (mmo๊ธ)
์ธ๋ ์ค์ผ์ผ์์๋ ์ด์ง๊ฐํด์๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค.
์ง๊ธ ์ฐ๊ณ ์๋ ์์ดํ ํ ํ๋ฆฟ์ธ๋ฐ, ์ฌ๊ธฐ ๋ค์ด์๋ Type ์ด Name-Type ํ ์ด๋ธ์ ์ ๋ณด๋ก ์ฌ์ฉ๋ ์ ์์ ๊ฒ ๊ฐ๋ค.
๋น์ทํ ์๊ฐ์ ํด๋ดค๊ฑฐ๋
์๋ชป๋ ์๊ฐ์ด๋ผ ์๊ฐํ๋ ๊ฒ์ด๋ ๋๊ธ ์ข ๋ฌ์์ค.
(์ผ๊ทผํ๊ณ ๋ ํ ๊ฐ์๊ธฐ ๋ ์๊ฐ์ด๋ผ ๋ป์๋ฆฌ์ผ ํ๋ฅ 90% ์ด์์.)
๋ป์ง๊ณ ๋งํ๊ณ ๊ธฐํ์ ์ง์คํ๋ผ๊ณ
๋ณดํต id๋ฅผ ์ฃผํค๋ก์ผ์ง์๋? ๊ธ๊ณ ์ค์์์๋๋ก ์์ ์ ๋ฆฌํ๋ฉด ํธํจ
~์ ๊ฐ์ฃฝ, ~์ ๊ฒ ์ด๋ฌ๋ฉด ์ ๋งคํ์ง์๋
id๋ ๋น์ฐ ๋ค์ด๊ฐ์ง๋ง ๊ฒ์ด ๋๋ฆฐ ์ํฉ์ด ์๋ ํ ์คํธ๋ง ์ฐ๋ฉด ๋๋ฒ๊น ํ ๋ ์ฌ์์ง๋ค๊ฑฐ๋... ํ์ง ์์๊น?
๊ฒ์์ ๊ท๋ชจ๊ฐ ๊ทธ๋ฆฌ ํฌ์ง์๊ณ ํ๊ตญ์ด๋ง ์ฌ์ฉํ๊ฑฐ๋, ๋ช ์นญ๋น 1๊ฐ๋ง ์กด์ฌํ๋ฉด ์๊ด์์๊ฑฐ๊ฐ๊ธดํจ
[์คํฐ] [๋ช ์นญ:A]์ ๋ฐ์ผ๋ฉด, ๋ช ์นญ Table์์ [A:์์ดํ ] ๊ฐ์ ๋์ถํ๊ณ [์คํฐ] [์์ดํ ] ์ ์คํํ๋ค๋ ๋ง ๋ง๋?
๊ทธ๋ด๊ฑฐ๋ฉด ์ฒ์์ SpawnEnitity("์ด๋ฆ", "ํ์ ", "์์น")์ ๋ฐ๋ก ์ ์ด์ฃผ๋๊ฒ ๋ซ์ง์์?
๋ฌด์จ ์ด๋ฆ์ด ๋ฌด์จ ํ์ ์ธ์ง ์ผ์ผ์ด ๋ค ์์์ผ ํ๋๊ฒ๋ ํผ๊ณคํ๊ณ , ์ด๋ฆ-ํ์ ํ ์ด๋ธ์ด ์์ผ๋ฉด ์ด๋ฆ๋ง ๋ณด๋ด๋ฉด ๋์์?
๊ธ์ผ ์ฐจ์ด๋ ์๊ฒ ์ง๋ง ์ด๋ฆ์ ๋ํ ๋ ์ฝ๋ ์๊ฐ ๋์ด๋๋ฉด๋ ์๋ก ์๊ฐ์ด ์ค๋๊ฑธ๋ฆด์์์
๋์ ๋๋ฆฌ๋ ํด์ฌํ ์ด๋ธ๊ธฐ๋ฐ ์๋ฃ๊ตฌ์กฐ๋ผ ๋ณต์ก๋๊ฐ 1์ด๋ผ์ ์ฐพ๋๋ฐ ์๋๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์. ๋ค๋ง ์์ฑ์๊ฐ ๋งํ๋๋ก ํค๊ฐ ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ฉด ์ฒ๋ฆฌํ๊ธฐ ๊น๋ค๋ก์์ ๊ทธ๋ ์ง
๊ณ ์ ๋ค์์ ์๋ธ ์นดํ ๊ณ ๋ฆฌ ํ๊ทธ ํ๋๋ฉด ์ธ๋๋ ๋ฒจ์์ ๋์ฌ์์๋ ๋ชจ๋ ๋ค์ด๋ฐ์ ๋ค ์ปค๋ฒ๋ ๊ฑฐ ๊ฐ์๋ฐ? [์คํฌ_๋ชฌ์คํฐ] [์คํฌ_๋ฌด๊ธฐ] ๋จ ํ๋๋ง์ผ๋ก ์ ํํ๋ฉด ์ง์ง ์ค์ํ ์ค๋ณต ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๋ฉด ํฌ๊ธฐํ๋๋ ๋ชจ๋ ๊ฑธ ๋ค ๊ฐ์์๋๋ ์ธ๋ ํ์๋ ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ๋๊น ์ง์ฆ๋ ๊ฑธ ๊ตฐ๋ ์์ง ์คํ 4์๋ ์๋ฌ๋๋ฐ ์ผ๊ทผ์ด๋ผ๋????
์ด์ 3์๊น์ง ๊ฐ๋ฐํ๊ณ ์ค๋๋ ๋๊ฐ ์ข๋น์ํ
๊ทธ๋ฌ๋ฉด ํน์๊ณ ๋ฆ๊ฒ ์ผ์ด๋๋ฉด ๋๋๊ฑฐ ์๋? ์์นจํ ์ข๋น๋ณด๋ค ๊ฒ์ผ๋ฅธ ์ฝ์ฝํ ๋๊ฐ ์ข์๊ฑฐ ์๋๊ฐ -.-;;;;
๋์ผ๋ ํน์๋ ๋จธ๋ฆฌ๊ฐ ๋ตํ๋ค. ์๋ฉด์ ์ง ๋ฌธ์ ์ธ๊ฒ ๊ฐ๋ค
๋๋๋๋...๊ทผ๋ ๊ฐ๋ฐ ํ๋ฒ ๋ถ๋ธฅ์ผ๋ฉด ๋จธ๋ฆฌ์์ ๋งด๋์์ ์๋ ค๊ณ ํด๋ ์์์ง๋๊ฒ ์ ์์ด๊ธด ํ์ง.
๋ณธ๋ฌธ ๋ด์ฉ์ ๊ธธ์ด์ ์์ฝ์๊ณ (ใ ใ ;; ใ ใ .. ใ ใ !!) ํ๋จธ๋ผ ์ฝ๋๋ง ๋ดค๋๋ฐ ๋ณด๋ฉด ์ด๋ฒคํธ ๋งค๋์ ๊ฐ ์คํฐํด์ค๋ ๋ฐ๋ ์ธ์๊ฐ์ด ์ ๋ถ ๋์ผํ๋ค๋ฉด, ํฐ๋ ์คํฐ, ๊ฑด๋ฌผ ์คํฐ์ ์ธ๋ถ์ ๋นผ๋๊ฒ๋ณด๋ค๋ ํด๋น ํจ์๋ private์ผ๋ก ๊ฐ์ถ๊ณ , ์ธ๋ถ์ ๋ณด์ฌ์ค ์คํฐ ํจ์ ํ๋๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ํจ์์์ ๋ฌธ์์ด์ ๋น๊ตํ์ฌ ์คํฐํด์ฃผ๋๊ฒ ์ข๋ค๊ณ ์๊ฐ๋จ.
ใ ใ ๊ทธ๊ฑธ ํด์ฃผ๋ ค๊ณ ํ๋๋ฐ ๋ฌธ์์ด ๋น๊ต๋ ์ซ์ด์ ๋ฌธ์์ด-ํ์ ํ ์ด๋ธ์ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋๊ฑฐ
๋ญ ๋ฌผ๋ก ์์ง ํ ์คํธ ๋จ๊ณ๋ผ ๊ทธ๋ฌ์๊ฑฐ ๊ฐ๊ธด ํ๋ฐ.. ์ฅ์ ์ ๋งํ์๋ฉด.. ํ ์์ ์ด๋ฉด ๋ค๋ฅธ ์ฌ๋์ด ์ป์๋ ํจ์๊ฐ ์ฌ๋ฌ๊ฐ์ธ๊ฒ๊ณผ ํจ์๊ฐ ํ๋์ฌ์ ๊ทธ ํ๋๋ง ์ฝ์ผ๋ฉด ๋๋๊ฒ์ ์ฐจ์ด๋ ์ฒ์ง ์ฐจ์ด.. ๊ฐ์ธ ์์ ์ด์ฌ๋ ํจ์๊ฐ ํ๋๋ก ํต์ผ๋ฌ์๋ ์ฅ์ ์ ํ์ฅ์ฑ์ด ์ฉ์ดํด์ง๊ณ , ์์ ํ ์ผ์ด ์๊ธด๋ค๋ฉด ์๋ณผ ๋ถ๋ถ์ด ํ๊ตฐ๋ฐ๋ก ์ค์ด๋๋๊น.. ๋ญ.. ๊ทธ๋ฅ.. ๊ฐ๋ฐํ๊ธฐ ์ซ์ด์.. ์น์ํํ๋ค๊ฐ ์ ์๊ฑฐ๋ผ.. ํ์๋ฆฌ๋ผ๊ณ ์๊ฐํด๋ ๋ญ...
enum์ด๋ ์์๋ก ํ๋๊ฒ ๋์๊ฒ๊ฐ๋ค
๋ด๊ฐ ์ฐ๋๊ฑด c++๋ง ๊ฐ๋ฅ ์ผ๋จ ๋ฌด์ํ enum๊ณผ ์ค์์นํํ๋ก ๋ฐ๊ฟ. ๊ทธ๋ฆฌ๊ณ ๊ทธ enum ๊ฐ์๋งํผ ํจ์ํฌ์ธํฐ๋ฐฐ์ด์ ๋ง๋ค์. ๊ทธ๋ฆฌ๊ณ ์์ฑ์์์์ ์ค์์น ์ผ์ด์ค์ ๊ธฐ๋ฅ์ ํจ์๋ก ๋ฌถ๊ณ ๊ทธํจ์๋ฅผ ํจ์ํฌ์ธํฐ ๋ฐฐ์ด์ ๋ฌถ์. ์ดํ ์ข ๋ฅ ์ญํ ์ ํ๋ enum์ ์ธ๋ฑ์ค๋ก ํจ์ํฌ์ธํฐ ๋ฐฐ์ด์์ ์คํ
ใทใทใท
๊ณ ๊ธํ๋ก๊ทธ๋๋ฐ๊ธฐ๋ฒ ์ด๋ผ๊ณ ์๋ ์ ๋์๋ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ฌ์ฅ๋์๋ค ์์ ์ฌ์์ด ์ข์์ ์ ๋ค์ ๋์จ ๊ธฐ๋ฒ์
๊ทธ๋ฆฌ๊ณ ๋ ์ด๊ฑธ ์ด๋์ ์์จ๋จน์๋๋ฉด ๋ด ๊ฒ์์ ๋์์ฒ๋ผ ์ค๋ฅธ์์ ํ์๊ฒ ๋ผ๋ฉด ํ์๊ฒ ๋ชจ์ , ์ผ์์ ๋ฐฉํจ๋ผ๋ฉด ๋ฐฉํจ ๋ชจ์ , ์ผ์ ์ค๋ฅธ์ ํ์๋ฌด๊ธฐ ๋ผ๋ฉด ์์๋ชจ์ ์ค๋ฅธ์์ ์์๊ฒ๋ผ๋ฉด ์ผ์ ์ฅ์ฐฉ๋ถ๊ฐ ์ด๋ฐ ๊ฒ์์ด๊ฑฐ๋ . ์ด๊ฑด ๋๋ฌ์ด ์กฐ๊ฑด๋ฌธ ๋ค์ด๊ฐ์ ๋ฐ์์์์, if ์ผ์ empty ์ด๋ฐ์์ผ๋ก ์ด๊ฑธ ํจ์ํฌ์ธํฐ2์ฐจ์๋ฐฐ์ด๋ก ๋ฐ๊ฟ. ๋ฌด๊ธฐ์ข ๋ฅ๊ฐ ๊ฐ์ท ์ข ๋ฅ๋ ๊ฐ์ enum์ธ๋ฐ ์ด๋๋ฌธ์ ๋ฌด๊ธฐ์ข ๋ฅ๋ฅผ enum ๋งจ์์ผ๋ก ์ฎ๊ฒจ์ค. ๊ทธ๋ค์ ์ญ์ ๋ฌด๊ธฐ๊ฐ์๋งํผ ๋ฐฐ์ด ๋ง๋ค๊ณ "๋ชจ์ ์ด ๋ฐ๋๋ ์คํ ์ค ๊ฒฝ์ฐ์ ์" ๋งํผ ํจ์๋ฐ์ธ๋ฉ์ ํด์ค, ๊ธฐํ์ ๋์ฌ์ ์๋ ์ฅ๋น ์กฐํฉ์ ui์ฅ์ฐฉ ๋จ์์ ์กฐ๊ฑด๋ฌธ์์ ๋ง์๋๊ณ ์ฌ์ฉํ๋ ์คํ ์ค๋งํผ๋ง ๋ฐ์ธ๋ฉ. ๊ทธ๋ค์์ ์ฅ์ฐฉํ ๋๋ง๋ค ์ฝ๋ฐฑ์ผ๋ก ํ์ฌ ์ผ์ ์ฅ๋น enum ์ค๋ฅธ์ ์ฅ๋น enum ๋ฐ์๋ค 2์ฐจ์๋ฐฐ์ด ์ธ๋ฑ์ฑ ๋
2์ฐจ์ ๋ฐฐ์ด์ ์๋ถ๋ถ์ ์ค๋ฅธ์์ ์ฅ์ฐฉํ ,๋ท๋ถ๋ถ์ ์ผ์์ ์ฅ์ฐฉํ ์ด๊ฑฐํ์ผ๋ก ์ด๊ฑฐ
๋๋จํ๋ค. ์ฝ๋ ์ ์ฐ๊ณ ๋ฐ์ดํฐ๋ก ํด๊ฒฐํ๊ตฌ๋จผ
๋ณ๊ด์ฌ ์์๋๋ฐ ๊พธ์คํ ํ๋ ๋ชจ์ต์ด ๋ฉ์ง์ ์ ์ ๋ ๋ณธ๋ฐ์์ ์ด์ฌํ ํ ๋ ค๊ณ ํฉ๋๋น ๊ฐ๋ฐ์๊ฐ ์๋๋ผ ๋ฌด์จ ๋ง์ ํ์๋๊ฑด์ง ์ ๋ ์ดํด๋ชปํ์ง๋ง ์์ํด์ฉ! - dc App
์ด๋ฆ ์ค๋ณต์ ๋์ ๋๋ฆฌ๋ก ํ๋ฉด ์ ์ด์ ๋ฐ์ํ์ง ์์ง ์๋? ์์ ๋ฐ์ดํฐ๋ฅผ ๋๋ ์๋ฌ๋ก ๋ฐ๋ก ๋์ฌ๊ฑด๋ฐ ๊ทธ๋ผ ์ด๋ฆ์ ๋ฐ๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋์ง
์ ๋ ์ฝ๊ฐ ๋ณํ์ฒ๋ผ ํ๋๋ฐ ๋ชจ๋ enum์ผ๋ก ๋ง๋ค๊ณ ๋ฌด๊ธฐ๋ฅ๋ enum ๊ฐ์ 0~999 ์๋ชจํ๋ฅ๋ 1000~1999 ๋์ญ์ ์ ๋ชฌ์คํฐ๋ 5000~10000 ๋์ญ์ ์ ๋ฌด๊ธฐ๋ฅ enum, ๊ฐ์ท enum, ๋ชฌ์คํฐ enum ์ ์ฐ๋ ์๊ฒน์น๊ฒ ๋ฃ๊ณ > ๊ทธ ํ๋์ง๋ฆฌ ๋์ ๋๋ฆฌ ์ฐ๊ณ ์ถ์ผ๋ฉด ์ข ํฉ enum์ผ๋ก ๋ง๋ ๋ค์์ ์ฐ๋ฉด ๋จ ์ด์ฐจํผ ๊ฐ์ผ๋ก ๋นผ๋ฉด ๋๋๊น ์๊ด ์๊ณ , ๋จ ์์ ์ํธ์์ ๋ฌธ์์ด์ ๊ทธ๋๋ก ๊ฐ์ ธ๋ค ์ฐ๋๊ฒ๋ณด๋ค๋ enum์ด๋ฆ์ด๋ ๋น๊ตํด์ ์ซ์๋ก ํน์ enum ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด ์ข์๊ฑฐ ๊ฐ์๋ฐ..