์ด๋ฐ์์ผ๋ก ๋ชฌ์คํฐ ์์ฑํ ๋ data๋ฅผ ๋ชฌ์คํฐ๋คํํ ๋ฃ๊ณ eData.hp๋ก ์ ๊ทผํด์ hp๋ฅผ ๊น์๋๋ฐ ํ๋์ ๋์์๋ ๋ชจ๋ ๋ชฌ์คํฐ๋ค์ด hp๊ฐ ๊น์ด๋ค; ์์ด๋ฐ๊ฑด์ง ์๋ ค์ค์ฌ๋
์ถ๊ฐ)
๋ฐ์ดํฐ๋ ์ฌ๊ธฐ์ ํ ๋นํจ
FindEnemyID๋ ์ฌ๊ธฐ
์ด๋ฉ๊ฒ ์ฐ๊ฒฐํ๋๋ ?
์ ๊น ์ค์ท์ด ๋์ฌ๋ผ์๋ค
์ฝ๋๋ฅผ ๊ทธ๋ฅ ์น๋ฉ์น๋ฉ ๋บด๋จ๋ eData์ ํ ๋น์ํค๋ FindEnemyID๋ ๋ณด์ฌ์ฃผ๊ณ ๋ฐ๋ฏธ์ง์ฃผ๋ ํจ์๋ ๋ณด์ฌ์ค๋ด๋ผ ... ๋๊ฐ ๋ฐฐ๋๊น๋ด ๋ค ์๋ณด์ฌ์ฃผ๋๊ฑฐ๋ฅ
EnemyData ์คํฌ๋ฆฝํธ๋ ๋ชฌ์คํฐ ์ค๋ธ์ ์ ๊ฐ๊ฐ ๋ค์ด๊ฐ์๋๊ฑฐ์?
ใ ใ ๊ฐ๊ฐ ๋ค์ด๊ฐ์์
ใดใด ๋ฐฐ๋ผ๋๊ฑด ์๊ด์๋๋ฐ ๋๋ ์ฝ๋๊ฐ ๊ธธ์ด์ ์ฐพ๋๋ผ ์ ๊น๋ง
๊ทธ๋ผ ๊ตณ์ด ํ ๋นํ ํ์๊ฐ์์ ? ํ ๋นํ๋ ์ฝ๋๊ฐ ์์๋์ง ๋ชจ๋ฅด๊ฒ ์ .FindEnemyID ํจ์๋ฅผ ๋ด์ผํ ๋ฏ
๋ชฌ์คํฐ ์ข ๋ฅ๊ฐ ์ฌ๋ฌ๊ฐ๋ผ ์ข ๋ฅ๋ณ๋ก ์คํ ์ด ๋ค๋ฅด์์ ๊ทธ๋์ ํ ๋น์์ผ์ฃผ๋๊ฑฐ
๋ด๊ฐ ์๊ฐํ์๋ ์ฝ๋๋ฅผ ๋ค ์๋ด์๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ EnemyData๊ฐ ๋ชจ๋ Enemy์ค๋ธ์ ์ ๋ค์ด๊ฐ์ ๊ทธ๋ฐ๊ฑฐ์
์ ๊ฑฐ ์๋ ์ฝ๋ฃจํด ์ฝ๋ ๋ค ์ฌ๋ฆฐ๊ฑฐ ๋ง์ ? ๊ทธ๋ฐ๊ฑฐ๋ฉด ๋ฌธ์ ๊ฐ ๋ง์ ๋ณด์ด๋๋....
ใดใด ๋ค์ฌ๋ฆฐ๊ฑฐ์๋ ์๋๊บผ๋ ๋ชฌ์คํฐ๋ณ๊ฒฝ์ฝ๋๋ผ ์๊ด์์ด์ ์์ฌ๋ ธ
ํน์ ์ ๊ฑฐ ์ฝ๋์์ ๋ฌธ์ ์ ์ด ์ด๋ค๊ฑด์ง ์๋ ค์ค์์์ด?
์ด๊ฑฐ๋ง ๋ณด๊ณ ์ด์ฐ ์๊ผฌ..
๋ค์ ์ฌ๋ ท์
ํน์ ๊ณต๊ฒฉ์ ์ด๋ป๊ฒ ํ์ด? ๋ค ๊ฐ์ด ๊ณต๊ฒฉํ๊ฑด๊ฐ? ์๋๋ฉด ํ ๋ช ๋ง ๊ณต๊ฒฉํ๋๋ฐ ๋ค ๋จ์ด์ง?
ํ๋ช ๋ง ๊ณต๊ฒฉํจ ์ ๊ธฐ์ eData์ ์๋๊ฑธ hp์ ๋ฐ๋ก ๋ฃ๊ณ ํ๋๊น ํ๋ช ์ฉ์ ๋๊ธดํ๋๋ฐ ์ด์ ๋ฅผ ์ฐพ๊ณ ์ถ์ด์
๋๋ ์ฒ์ ๋ฐฐ์ธ ๋ ์ ๋ฐ์ ์์๋๋ฐ ๋๋ ์ง๊ฐ ์ง ๋ชธ ๋๋ฆฌ๊ณ ์๋๋ผ๊ณ .
์ผ๋จ ๋ก์ง์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๋์ง ์ด๊ฑฐ๋ง ๋ณด๊ณ ๋ชจ๋ฅด๊ฒ ์. ๋๋ ์ปดํฌ๋ํธ ๊ฐ์ ธ์์ ๋ฐ์ดํฐ ์ ์กํ๋๋ฐ ๊ทธ๋ฐ๊ฒ๋ ์ ๋ณด์ฌ์
์ ๊น๋ง ๋ค์์ฌ๋ ค์ค๊ฒ
ํน์ for๋ฌธ์์ ๊ฐ์ eData๋ฅผ ๋ฃ์ด์ค์ ๊ทธ๋ฐ๊ฐ
๊ฐ์๋ชฌ์คํฐ๊ฐ 10๋ง๋ฆฌ์ ๋ ๋์ค๋๋ฐ
๋๋ ์ด ์ฝ๋๊ฐ ์ดํด๊ฐ ์๋ผ. ์ปดํฌ๋ํธ ์ ๊ฐ์ ธ์ค๊ณ ๊ตฌํํ๋ฉด ์์ฒญ ํ๋์ฝ๋ฉ์ผํ ๋ฐ. ๋ชฌ์คํฐ ์ด๊ดํ ๋ฉ์ธ ์คํฌ๋ฆฝํธ ๋ง๋ค๊ณ , ๋ชฌ์คํฐ ๋ง๋ ์คํฌ๋ฆฝํธ ๋ณ๋๋ก ๋ง๋ค๊ณ , ๋ชฌ์คํฐ ๋๋ฆฌ๋ ์คํฌ๋ฆฝํธ ๋ณ๋๋ก ๋ง๋ค๊ณ ๋ง๋ ์คํฌ๋ฆฝํธ์ ๋ฉ์ธ ์คํฌ๋ฆฝํธ ์์ํ๋ฉด ์ฐ๋ํด์ฃผ๊ณ , ๋๋ฆฌ๋ ์คํฌ๋ฆฝํธ์ ๋ง๋ ์คํฌ๋ฆฝํธ๊ฐ ์ถฉ๋ํ๋ฉด ๋๋ฆฌ๋ ์คํฌ๋ฆฝํธ์ ์ ์ฅ๋ ๊ณต๊ฒฉ๋ ฅ์ ๋ง๋ ๊ณณ์ ์ ๋ฌํด.
๊ทธ๋ฌ๋ฉด ๋ง๋ ์คํฌ๋ฆฝํธ๊ฐ ์ฐ๊ฒฐ๋ ๋ฉ์ธ ์คํฌ๋ฆฝํธ์ ์ ๋ฌํ๊ณ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ปจํธ๋กค ํ๋ฉด ๋๋๋ฐ.
list์ ๋ฃ์๋ค์ ๊ด๋ฆฌํด์ฃผ๊ณ ์์ด ๋๋ฆด๋ ๋ชฌ์คํฐ ๊ด๋ฆฌํ๋ list์์ ์ฐพ์์ ๊ฐ์ฅ ๊ฐ๊น์ด๊ฑฐ ์ปดํฌ๋ํธํด์ ๋๋ ค์ฃผ๊ณ ์์
ํ๋ฒ eData ๊ฐ null ์๋๋ฉด eNum ๊ณผ eData ๊ฐ ๋์ด์ ์์ํ ๋ณ๊ฒฝ๋์ง ์์. ๋ชจ๋ ์์ฑ๋๋ ๋ชฌ์คํฐ๊ฐ ๊ฐ์ eData๋ฅผ ๊ณต์ (๊ฐ์ ๋ฉ๋ชจ๋ฆฌ) ๊ทธ๋ฌ๋ฏ๋ก eData ๋ฅผ ์์ ํ๋ฉด ๋ค ๋ฐ๋. EnemyData๋ฅผ struct ๋ก ๋ฐ๊ฟ๋ด.
์ ๊ทธ๋ผ ์์ํ๊ฒ ๋ง์๋๋ณด๋ค ๊ฐ์ฌ๊ฐ์ฌ
๊ตฌ์กฐ์ฒด๋ null์ฒดํฌ๋ฅผ ์ด์ผํด์ผํด? null๋ก ๊ฒ์ฌ๊ฐ ์๋๋ค
https://docs.microsoft.com/ko-kr/dotnet/api/system.nullable-1?view=netframework-4.7.2
์ด๊ฑธ
์จ ๋ณด๋ฉด ์ด๋จ๊น
https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/nullable-value-types
์ด๊ฒ
์ข๋ ๋ณด๊ธฐ ์ฝ๋ค
ํน์ ํด๊ฒฐํ์ด?? ๋๋ ์์ ์ ๊ทธ๋ฌ๋ค๊ฐ ํด๊ฒฐํ๊ฑฐ๋ ?? ๊ทผ๋ฐ ์ง๊ธ ๋ฐ์ด๋ผ ๊ธ ๋ชป์ธ๊ฑฐ๊ฐ์..์ง๊ฐ๋ฉด ๋ฐ๋ก ์๋ ค์ค๊ฒ ์ผ๋จ ๊ทธ๊ฑฐ ๋ง๊ณ ๋ค๋ฅธ๊ฑฐ ํ๊ณ ์์ด!!
ํน์ ๊ธ์ฐ๊ฒ๋๋ฉด ๋งํฌ ๋ฌ์์ฃผ๋ฉด ๊ฐ์ฌํ ๊ฒก
์ ์๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ด๋๋ค ๋ฃ์ด๋จ์ด?
์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋๋ฏธ ๊ฐ์ฒด์ ๋ฃ์ด๋๋ฉด ์๋ณธ ๊ฐ์ฒด๊ฐ ์ฃฝ์ผ๋ฉด ๋ค๋ฅธ ์๋๋ฏธ๋ค๋ ์ฃฝ๋๋ผ๊ตฌ