๋๋ ์๋ฆ๋ค์ด ์ฝ๋๋ฅผ ์ง๊ณ ์ถ์ด์ ๋์์ธํจํด์ ์ฌ์ทจํ์ ์ด ์์์ด
๋ญ ์ ์ฌํ์ผ๋ก๋ ๋ฆฌํฉํ ๋ง , ํด๋ฆฐ ์ํคํ ์ณ ์ด์ฉ๊ณ ๊ฐ ์์ง
๊ทธ๋ฐ๋ฐ "ํด๋ฆฐ" , "์ฝ๋์ค๋ฉ" ์ด๋ฐ๊ฐ๋ ๋ค ๋ชจ๋ ์๋์ ์ธ๊ฑฐ์ผ
๊ทธ๋์ ๋ ์ ํํ ํํํ๋ ค๋ฉด "~~๋ณด๋ค ํด๋ฆฐ" ์๋ ๊ฒ ํด์ผํด
์ด๋ฐ ๊ด๊ณ๋ฅผ ์ดํดํ์ง ์์ ์ํ์์ ์ ๋ฐ ์ง์์ ์ ํ๋ฉด ์๋์ ๊ฐ์ ์ผ์ด ๋ฒ์ด์ ธ
๋ ์ข์๊ฑธ ๋ณด๊ฒ๋๋ฉด,ย ๊ฐ์๊ธฐ ๋ด ์ฝ๋๋ ๋ฐฉ๊ธ๊น์ง "ํด๋ฆฐ" ํ๋๋ฐ, ๊ฐ์๊ธฐ "๋ํฐ" ์ฝ๋๊ฐ ๋์ ์๊ดด๊ฐ ๋๊ปด์ง๊ฒ ๋๋๊ฑฐ์ง.
๊ทธ๋ฅ ์ด๊ฑด, ๋ฐฉ์ฒญ์๋ ๋๊ฐ์
๋ฌด๊ท ์ค์ ๋ง๋ค๊บผ ์๋๋ผ๋ฉด, ์ ๋นํ ์์ค์์ ํํํ๊ณ ๊ฐ๋๊ฑฐ์ผ
(๊ทผ๋ฐ, ์์ํ ๋ฌด๊ท ์ค ๋ชป๋ง๋ค๊ป?)
๊ทธ๋ผ, ์ง์ง ์ค์ํ ์ด์ผ๊ธฐ๋ฅผ ํด์ค๊ป
์ ๋ง ์ค์ํ ๊ฒ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ผ!
์ฌ๊ธฐ์, ํ๋ก๊ทธ๋๋ฐ์ ๋ณธ์ง์ ์๊ฐํด๋ณด์.
ํ๋ก๊ทธ๋๋ฐ์ ๊ฒฐ๊ตญ ๋ฐ์ดํฐ ์กฐ์์ด์ผ.ย [์ ๋ ฅ] -> [์ฒ๋ฆฌ] -> [์ถ๋ ฅ] ์ด์์?
๊ทธ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ์ง์ฅ์ ์ฃผ๋ ๊ฑด ๋ฐ์ดํฐ ๊ตฌ์กฐ์ผ.
๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉดย ๋๊ฐ ์๋ฌด๋ฆฌ ๋๋จํ ํด๋ฆฐํ ๊ตฌ์กฐ๋ก ์ค๊ณ๋ฅผ ํ๋๋ผ๋ ์ฝ๋๋ฅผ ๊ณ ์น ์ ๋ฐ์ ์์ด.
๋์์ธํจํด, ํด๋ฆฐ ์ํคํ ์ณ ์ด์ฉ๊ณ ์ ์ฉ๊ณ ์ง์นจ ๋ค ๋ฐ๋์ผ๋ฉด ํด๋์ค ๋๋ ์์ฐ๋์์ํ ๋ฐ ์ข ์์ฐํ๋ค. ๊ทธ๊ฑฐ ๋ค ๊ณ ์น ๋ ค๋ฉด ์ด์ฉ๋..
์๋ง๋ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํย ๊ธฐํ์ ์ํ๊ณ ์์๊ฑธ?ย
๊ทธ๋ฐ๋ฐ ๊ฒ์์ด๋ผ๋๊ฒ ๋์ผ๋ก ๋์๊ฐ๋ ํ๋กํ ํ์ ์ ๋ด์ผ ์ด๊ฒ ์ฌ๋ฐ๋์ง ์๋์ง ์ ์ ์๊ฑฐ๋ฉ
์ ์ธ๊ณ ์ด๋ค ๊ฒ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํ๋ฒ์ ํ์ ํ ๊ฒฝ์ฐ๋ ์์๊บผ์ผ.
๊ทธ๋์ ์ญ์ค์ ์ผ๋ก ์ต๋ํ ๋ฐ์ดํฐ์ฒ๋ฆฌ์๋ง ์ง์คํด์ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋จํ๊ฒย ๊ฐ์ ธ๊ฐ๋๊ฒ ์ข์.
๊ทธ๋ผ ์ด๋ป๊ฒ ํด์ผํ ๊น?
์ผ๋จ์, ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋จผ์ ๋ง๋ค์ด์ผํด.
์ด๊ฒ ๊ฑฐ์ฐฝํ๊ฑด ์๋๊ณ , ๊ทธ๋ฅ ๋ฉ๋ชจ์ฅ ์ด๊ณ JSON ์์ฑํ๋๊ฒ ๋์
์๋ฅผ ๋ค์ด ์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๊ณ ํด.
- ๋ชฌ์คํฐ ์ฒ์นํ ์ฅ๋น๊ฐ ๋๋๋จ
- ๋๋๋ ์ฅ๋น๋ ๋๋ค์ผ๋ก ๋ฅ๋ ฅ์น๊ฐ ๊ฒฐ์ ๋จ
๊ทธ๋ผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์จ๋ด๋ ค ๊ฐ๋ณด๋๊ฑฐ์ผ.ย
๋จผ์ , ๋๋๋ ์ฅ๋น๋ฅผ ์ ์ํด๋ณผ๊ป. ์๋ง ์ฌ์ธ๊บผ์ผ.
์ฅ๋น ํ๋กํ ํ์ :ย
{
"key" : "sword-1",
"equip_type" : "sword",
"name" : "ํด๋ง์ ๊ฒ",
"properties" :ย
[
{
"key" : "attack",
"min" : 15,
"max" : 21
},
{
"key" : "atk_speed",
"min" : 0.7,
"max" : 1.2
}
]
}
์ฅ๋น ๋๋ :
{
"id" : "xxxxxx",
"equip_type" : "sword",
"prototype_key" : "sword-1", //ํด๋ง์ ๊ฒย
"properties" : [
{
"key" : "attack",
"value" : 17
},
{
"key" : "atk_speed",
"value" : 1.1
}
]
}
( ๋ง์ฝ ์ด๊ฒ ์๋๋ค๋ฉดย ์ด๊ฒ ๋จผ์ ์ฐ์ตํ๊ธธ ๋ฐ๋ )
๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ค๋ฉด, ์ด์ ์ฝ๋ฉํ๊ธฐ ๋๋ฌด ์ฌ์ธ๊บผ์ผ
๋์์ธํจํด, ํด๋ฆฐ์ํคํ ์ณ๋ฑ ๋จธ๋ฆฟ์์์ ์ง์๋ฒ๋ฆฌ๊ณ
์ต๋ํ ์ฝ๋๋ฅผ ๋ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํด๋ด
์๋ง ํ ์ ์์๊บผ์ผ.
์ฐธ, ์ ์ฝ๋๋ฅผ ๋ ๋ง๋ค์ด์ผ ํ๋๋ฉดย ์ ์ง๋ณด์๋ ์๋์ ๊ฐ์ ๊ณผ์ ์ด๊ฑฐ๋ฉ
ย 1. ์ฝ๋๋ฅผ ์ดํดํ๋ค
ย 2. ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ค
ย 3. ํ ์คํธ ํ๋ค
๊ทธ๋์ ์ ์ง๋ณด์๊ฐ ์ฌ์ฐ๋ ค๋ฉดย ๊ตฌ์กฐ๊ฐ ์ ์ฐํ๊ฒ ์๋๋ผ ์ฝ๋๋์ด ์์์ผ ํด
์ข์ ๊ตฌ์กฐ ๋ง๋ ๋ค๊ณ ํด๋์ค 3~5๊ฐ๋ก ํํธํ ํ ์ฝ๋๋ณด๋ค,ย ์ฑ๊ธํด์ด๋๋ผ๋ ํ ํด๋์ค์ ์๋๊ฒ ๋ ์ข์
(์๋๋งํฌ ๊ผญ ์ฝ์ด๋ณด์ ใ ใ )
๊ฐ๋ฐ์ 1๋ ์ฐจ, 5๋ ์ฐจ, 10๋ ์ฐจ ์ฝ๋ - ์ ํ์ํค
zetawiki.com
์ฐธ๊ณ ๋กย ๋์ ๊ฒฝ์ฐ์๋ ์๋์ฒ๋ผ ๋ง๋ค๊ฒ์
-----------------------------------------------------
ํ์ผ๋ช : EquipItem.cs
public class EquipItemPrototype
{
public string Key;
public string EquipType;
public string Name;
public List<EquipItemPrototypeProperty>ย properties;
public staticย EquipItemย CreateEquipItem(EquipItemPrototype prototype)
{
/* ์์ดํ ์์ฑย ์ฝ๋ */
}
public class EquipItemPrototypeProperty
{
public string Key
public float Min
public float Max
}
}
public class EquipItem
{
public string Id;
public string EquipType;
public string PrototypeKey;
public List<EquipItemProperty>ย
publicย EquipItemPrototypeย EquipItemPrototype;
public class EquipItemProperty
{
public string Key;
public float Value;
}
}
----------------------------------
์ฌ์ค, ๋ ์ค์ํ ์ด์ผ๊ธฐ๋ ๊ธฐํ์์ ์์ฌ์ํต์ด์ผ.
๊ธฐํ = ๋ฐ์ดํฐ๊ตฌ์กฐ์ ๊ฐ์.ย
๊ทธ๋์ ๊ธฐํ์์ ์๋๋ฅผย JSON ๋ฉ์ด๋ฆฌ๋ก ๋ณ๊ฒฝํด๋ณด๊ณ , ์ด๊ฒ ๋ง๋์ง ๊ธฐํ์์ ๋ ผ์๋ฅผ ํด๋ด
์ด๊ฑธ ํ์ง ์์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์คํด๊ฐ ์๊ฒจ์ ์ฝ๋ ๋ค์๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค ์๋๋ผ๊ณ ..
๊ธฐํ์๋๋๋ก ๋ง๋ค์์ง๋งย ์ฌ๋ฏธ์์ด์ ์ฝ๋ ๊ฐ์ ์๋๊ฒ์ ์๋ฏธ์๋ ์ผ์ธ๋ฐ,ย
์ ๋ด์ฉ์ฒ๋ผ ๊ฐ์ ์์ผ๋ฉด ๋๋ฌด ์ฌํ์ผ์ด์ง. ๊ผญ ํผํด์ผํด!
------------------------------------
๋ง์ง๋ง์ผ๋ก,ย ๊ทธ๋ ๋ค๊ณ ๋ด๊ฐ ์ฑ๊ณตํ ๊ฐ๋ฐ์๋ ์๋๋๊นย ์ ๋นํ ํ๋ ค๋ค์ด
๊ทธ๋ผ ๋ชจ๋ ํ์ดํ ํ์!
ํ: ๋งํฌ๋ ์์๊ณ ๋ง๋ ์ค๋๋ ๋ฐ์ด๋ฉฐ ํ ์ค์ด๋ฉด ๋๋ ์ฝ๋๋ฅผ ๋ฒ ๋ฒ ๊ผฌ์์ ์์ญ ์ค์ ๊ฑธ์ณ ๋ง๋๋ ์ฌ๋๋ค์ ๋น๊ผฌ๋ ๋ฐ์ด๊ธฐ๋ํ๋ค. 5๋ ์ฐจ ์ฃผ์์ ๋ณด๋ฉด ์ ์ ์๋ฏ ์ค์ ๋ก๋ ์ํฐํ๋ผ์ด์ฆ์์ 5๋ ์ฐจ์์ ์ฝ๋๋ฅผ ๊ฐ์ฅ ๋ง์ด ์์ฑํ๋ค. ๊ฐ์ฅ ๋ง์ ํธ์์ ์ป์ ํด์์ ๋ค์๊ณผ ๊ฐ๋ค "์ด๋ฅผ ๋ง๋ก ํํํ๋ฉด: ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๋ ์์ ํ๋ก๊ทธ๋จ์ ์์ฑํฉ๋๋ค. ์๋ จ๋ ํ๋ก๊ทธ๋๋จธ๋ ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ์ ์์ฑํฉ๋๋ค. ์ ๋ฌธ ํ๋ก๊ทธ๋๋จธ๋ ํฐ ํ๋ก๊ทธ๋จ์ฒ๋ผ ์๋ํ๋ ์์ ํ๋ก๊ทธ๋จ์ ์์ฑํฉ๋๋ค."
๊ทธ๋์ ์์กด์ฑ ์ฃผ์ ์ด๋ MVCํจํด๊ฐ์๊ฑฐ์ ๋น ์ ธ์ ์ธ๋ฐ์๋ ์ธ์ ๋ณด๋ธ๊ฑฐ ์๊ฐํ๋ฉด...
Django ์ธ ๋ MVC ํจํด์ ์กด๋ ์ข์๋๋ฐ ๊ฒ์ ๊ฐ๋ฐ์์๋ ๋ค๋ฅด๊ฒ ์ฐ์?
MVC๊ฐ ์ฌ์ค ์น์์๋ ๋ถ๋ฆฌํด์ ํ๊ธฐ ์ข์๋ฐ, ๊ฒ์UI๋ค์ ๋ณดํต ๊ธฐ๋ฅ(Model,Controller)๊ฐ ๋ฐ๋๋ฉด View๋ ๊ฐ์ด ๋ฐ๋๋ ๊ฒฝ์ฐ๊ฐ ํ๋คํ๊ณ , ์ฌํ์ฉ์ฑ๋ ํ์ ์ ์. ๊ทธ๋ฆฌ๊ณ V์C๊ฐ์ ์ธํฐ๋์ ์ด ๋๋ฌด๋ง์ ์ธ๊ฒ์ UI๊ฐ์ ๊ฒฝ์ฐ๋ ๋ญ ๋งํ ๊ฒ๋ ์์. ๊ทธ๋์ MVCํจํด์ผ๋ก ํ๋ค๋ณด๋ฉด MVC๋ฅผ ๊ทธ๋ฅ ํ๋์ ๋ชจ๋์๋ค๊ฐ ๋ค ์์ฑํ๊ฑฐ๋, VC๊ฐ ํ๋ชธ์ธ๊ฒฝ์ฐ๊ฐ ๋ง์... ๊ทธ๋ฅ ๋จ์ํ UI๋ง๋ค๋๋ง๋ค MVC์ ๋ค ๋ง๋๋๊ฒ๋ ๊ฐ์ค๋ฐ์ง์
ํ๋ ์ ๋ํฐ ์ ๋ํ ์คํธ๋ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ฉด ์ข์์ง ํ์ข ์ฃผ์ ์ ๊ตฝ์ ๊ตฝ์
๋ฏธ์, ์ ๋ํ ์คํธ๊ฐ ์ ํ์ํ์ง ์ ๋ชจ๋ฅด๊ฒ ์. ( ์๋ฒ ํ๋ก๊ทธ๋๋จธ ๋ฐ๋ก ์๋ค๋ฉด, ์๋ฒ ํ๋ก๊ทธ๋๋จธ๋ ์ ๋ํ ์คํธ ํ๋๊ฒ ์ข์ ) 1. ๊ณ ์น๊ฑฐ ๋ฐ๋ก ๋์ผ๋ก ํ์ธ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ. ํนํ ํซ๋ฆฌ๋ก๋ ๊ฐ์๊ฑฐ ์ฐ๋ฉด ๋ ์์จ๋ ๋จ. 2. ํด๋ผ์ด์ธํธ ์ ๋ํ ์คํธ๋ ๋ฐฐ๋ณด๋ค ๋ฐฐ๊ผฝ์ด ๋ ์ปค์ง. 3. ๋ณดํต ์ ๋ํ ์คํธ๊ฐ ์๋ฏธ์๋๊ฒ์ ํ๊ทํ ์คํธ๋ฅผ ํตํด ์ฌ์ด๋์ดํ์ ์ก๋๊ฑด๋ฐ, ์ด๊ฒ ํ์ํ ๋งํผ ํ๋ก์ ํธ๊ฐ ๊ท๋ชจ๊ฐ ์ด ๋ํ์ด ์๋๊ธฐ ๋๋ฌธ.
๊ทธ๋ฆฌ๊ณ , ์ ๋ํ ์คํธ๋ ์ ์ง๋ณด์ํด์ผํ ์ฝ๋๋ฉ์ด๋ฆฌ์ผ. ๋์ค์ ๋ญ ๊ณ ์น ๋ ค๊ณ ํ ๋, ์ด๊ฒ๊น์ง ๋ค ๊ณ ์ณ์ผ ํ๋? ํ๊ณ ํํ์จ๋ค.
์ ์ด๊ฑฐ ๊ถ๊ธํด์ 2๋ ๋์ ๋๋๋๋๋ฐ ๊น๋ํ๊ฒ ์ ๋ฆฌํด์ฃผ์ ์ ๊ฐ์จํฉ๋๋ค ^^)/~
์ข ์น๋ค