-
Notifications
You must be signed in to change notification settings - Fork 14
introduce this project's struct
This page be written korean.
์๋
ํ์ธ์, ์ซ์์์
๋๋ค.
ํ์ฌ ํ๋ก์ ํธ์ ๊ตฌ์กฐ๋ฅผ ์งค๋งํ๊ฒ ์ค๋ช
ํ๋ ๊ธ์ ๋จ๊ฒจ๋ณผ๊น ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ณตํต์ ์ผ๋ก "Object" ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌํํ์ต๋๋ค.
๋ฐ๋ผ์ ์ด "Object" ๋ฅผ ์ค์ฌ์ผ๋ก ์ค๋ช
ํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ์ค๋ธ์ ํธ์ ๊ธฐ๋ณธ ์์ฑ๋ค
์ค๋ธ์ ํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ณ๊ฐ (ID), ์ข
๋ฅ๊ฐ (Type), ํ๊ฐ (Team), ์ด๋ฆ๊ฐ (Name)์ด ์์ต๋๋ค.
์ค๋ธ์ ํธ๋ฅผ ๊ตฌ๋ณํ๋ ๊ฐ๋ค์
๋๋ค.
๊ทธ ๋ค์ ์ขํ๊ฐ (X, Y), ๋ฐ์ง๋ฆ๊ฐ (R)์ด ๊ธฐ๋ณธ์ผ๋ก ๊น๊ณ ๋ค์ด๊ฐ๋๋ค.
๋ค์ดํผ์ค์ ๋ชจ๋ ์ค๋ธ์ ํธ๋ค์ ์ ๋ชจ์์ ํํธ๋ฐ์ค๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ค์์ผ๋ก ํฌ๋ช
๋๊ฐ (Opacity), ์ ์๊ฐ (Exp), ๋ฐฉํฅ๊ฐ (Dir), ์ฒด๋ ฅ๊ฐ (H, Mh, Lh)์ด ์์ต๋๋ค.
์ฒด๋ ฅ๊ฐ์ ํ์ฌ ์ฒด๋ ฅ, ์ต๋ ์ฒด๋ ฅ, ์ด์ ํ๋ ์ ์ฒด๋ ฅ์ผ๋ก ๋๋ฉ๋๋ค.
์ด์ ํ๋ ์ ์ฒด๋ ฅ์ด ๊ตณ์ด ์กด์ฌํ๋ ์ด์ ๋ ๋ฐ๋ฏธ์ง ๊ณ์ฐ ์์ ํ์ํ ๊ฐ์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
GetDH ๋ Get Damage Health ๋ก, ํ ํ๋ ์์ ๋ฐ์ ๋ฐ๋ฏธ์ง ๋๋ ๋ฐ์ ์น์ ๋์ ์ดํฉ์ ๋ปํฉ๋๋ค.
๊ทธ ๋ค์, ์๋๊ฐ (Speed), ํ์ฌ์๋๊ฐ (Dx, Dy)์ด ์์ต๋๋ค.
๋ ๊ฐ์ ์ฐจ์ด์ ์ ํ์ฌ์๋๊ฐ์ ์ขํ๊ฐ์ ๋ฐ๋ก ์ํฅ์ ์ฃผ๋ ๊ฐ์ธ ๋ฐ๋ฉด (์๋ฎฌ๋ ์ด์
์ ์ฐ์)
์๋๊ฐ์ ๊ทธ ํ์ฌ์๋๊ฐ์ ๋ํด์ฃผ๋ ์๋๊ฐ์ ๋ปํฉ๋๋ค.
๋ฐ๋ ์์คํ
๊ณผ ๊ด๋ จ๋ ๋ฐ๋๊ฐ (Bound), ์คํ ์ค๊ฐ (Stance)์ด ์กด์ฌํ๋๋ฐ์,
ํ์ฌ์ ๋ฐ๋ ์์คํ
์ด ์๋ชป๋์๋ค๊ณ ๋ณด์์, ์ด ๊ฐ๋ค์ ์ถํ์ ์ญ์ ๋๋ ์์ ํด์ผ ํ ๊ฒ์
๋๋ค.
ํฑํฌ๋ง์ ๊ฐ์ง๊ณ ์๋ ๊ฐ๋ค์ ํ๋ ์ด์ด (Controller), ๋ ๋ฒจ (Level), ์์ผ๊ฐ (Sight), ์คํฏ๊ฐ (Stats, MaxStats)์ด ์์ต๋๋ค.
๋ญ.. ์์ค๋งํ ๋ด์ฉ์ด๋ ๋์ด๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ฃผ์ธ๊ฐ (Owner) ์ด ์กด์ฌํฉ๋๋ค. ์ํ๊ด๊ณ๋ฅผ ํ๊ธฐํ๊ธฐ ์ํด ๋ง๋ค์์ต๋๋ค.
- ์ค๋ธ์ ํธ์ ์ด๊ตฌ (Guns)
๋ชจ๋ ์ค๋ธ์ ํธ๋ ์ด๊ตฌ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๊ฐ ์ด๊ตฌ๋ ๋๋ค๋ฅธ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํด์ค๋๋ค.
์ด๊ตฌ๋ค ๋ํ ์ผ๋ถ ์ค๋ธ์ ํธ์ ์์ฑ์ ๊ณต์ ํฉ๋๋ค.
์ด๊ตฌ์ ์์ฑ ์ค ์ค์ํ ์์ฑ 4๊ฐ์ง๊ฐ ์กด์ฌํ๋๋ฐ์,
Reload, DelayTime, WaitTime, ShotTime ์
๋๋ค.
Reload ๊ฐ์ ๋ง ๊ทธ๋๋ก ๋ฆฌ๋ก๋ ๊ฐ์ ๋๋ค. ์ด์์ด ๋ฐ์ฌ๋๋ ์๊ฐ ๊ฐ๊ฒฉ์ ์๋ฏธํฉ๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ด์ฃ .
DelayTime (0 <= D <= R) ๊ฐ์ ์๊ฐ ๋น ๊ฐ์ํ๋ฉฐ, ์ด ๊ฐ์ด 0 ์ดํ๊ฐ ๋์์ ๋ ์ด์์ ๋ฐ์ฌํฉ๋๋ค.
์ด์์ ๋ฐ์ฌํ๋ฉด DelayTime ์ Reload ๊ฐ์ ์ํฅ์ ๋ฐ์ ๊ฐ์ผ๋ก ๋ฐ๋๋๋ค.
WaitTime ๊ฐ์ ๋ฐ์ฌ๋ฅผ ์์ํ์ ๋ ์ด์์ด ์ผ๋ง๋ ๋ฆ๊ฒ ๋ฐ์ฌ๋๋์ง๋ฅผ ์ ํด์ฃผ๋ ๊ฐ์
๋๋ค.
Reload ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํผ์ผํธ ๊ฐ์ ์ง์ด๋ฃ์ด์ค๋๋ค. ์๋ฅผ ๋ค์ด Reload ๋ก ์ ํด์ง ๊ฐ์ด 1์ด๋ผ๋ฉด, WaitTime ๊ฐ์ด 0.5 ์ผ ๋๋ 0.5์ด๋ฅผ ๊ธฐ๋ค๋ฆฐ๋ค๋ ์๋ฆฌ์
๋๋ค.
ShotTime ๊ฐ์ ๋ฐ์ฌ๋ฅผ ์์ํ๊ณ ์ง๋ ์๊ฐ์ ์๋ฏธํฉ๋๋ค.
๋ฐ์ฌ๊ฐ ๋๋๋ฉด 0 ์ผ๋ก ๋๋์์ต๋๋ค.
- ์๋ธ ์ค๋ธ์ ํธ (SubObjects)
์คํ ์ด๊ตฌ๋ฅผ ๋ฐ๋ก ํ๋ ๋ง๋ค๊ธฐ ๊ท์ฐฎ์์ ๋ง๋ ๊ฐ๋
์
๋๋ค.
์ค๋ธ์ ํธ์ ์ข
์๋๋ ์ค๋ธ์ ํธ๋ก, ์ถฉ๋๊ฐ์ง๊ฐ ๋์ง ์๊ณ ๋ ์ด์ด๊ฐ ์ข
์๋ ์ค๋ธ์ ํธ์ ์ ๋๋ ๋ค๋ก ๊ณ ์ ๋๋ค๋ ์ ๋ง ๋นผ๋ฉด ์ค๋ธ์ ํธ์ ๊ฐ์ต๋๋ค.
- ์ค๋ธ์ ํธ์ ๋ ์ด์ด
์๋ฒ์ obj ํด๋์ Objects ๋ฐฐ์ด์ ์์๊ฐ ์ค๋ธ์ ํธ์ ๋ ์ด์ด๊ฐ์ ๊ฒฐ์ ํฉ๋๋ค.
์ธ๋ฑ์ค ๊ฐ์ด ํด์๋ก ์์ ๋ฐฐ์น๋ฉ๋๋ค.
๋ชจ๋ ์ค๋ธ์ ํธ๋ ์ด์์ ์ ๋ ์ธ๋ฑ์ค๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
- ์ค๋ธ์ ํธ์ ํจ์๊ฐ
์ค๋ธ์ ํธ์ Tick, Collision, KillEvent, DeadEvent ์ด 4๊ฐ์ ํจ์๊ฐ์ ๋ฃ์๋๋ฐ์,
๋์ค์ ์๋ก์ด ํฑํฌ๊ฐ ๋์์ ๋ ์ถ๊ฐํ๊ธฐ ์ฝ๋๋ก ํ๋ฉด์๋, ๊ธฐ์กด ๋ค์ดํผ์ค์ ํน์์ ์์ง ์๋๋ก ์์ ๋๋ฅผ ์ต๋ํ ๋ฎ์ถฐ ๊ฒฐ์ ํ์ต๋๋ค.
Tick ํจ์๋ ํ๋ ์ ๋น ์คํํ๋ ํจ์,
Collision ํจ์๋ ๋๊ตฐ๊ฐ๊ณผ ๋ถ๋ชํ์ ๋ ์คํํ๋ ํจ์,
KillEvent ํจ์๋ ๋๊ตฐ๊ฐ๋ฅผ ์ฃฝ์์ ๋ ์คํํ๋ ํจ์,
DeadEvent ํจ์๋ ๋๊ตฐ๊ฐ์๊ฒ ์ฃฝ์์ ๋ ์คํํ๋ ํจ์์
๋๋ค.
์ด ๊ธฐ๋ฅ์ ํ์ฉํด์ Necromancer๋ Predator๊ฐ์ ํฑํฌ๋ค์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์์์ต๋๋ค.
- ์ค๋ธ์ ํธ์ ๋ ๋๋ง
ํด๋ผ์ด์ธํธ์์์ ์ค๋ธ์ ํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด์ ์บ๋ฒ์ค์ ๊ทธ๋ ค์ง๋๋ค.
๋ณดํต์ ๊ทธ๋ฅ ๊ทธ๋ฆฌ๋ ๊ฒ์ธ๋ฐ, ์ด๊ตฌ ๋๋ ์๋ธ ์ค๋ธ์ ํธ๊ฐ ์กด์ฌํ๋ ์ค๋ธ์ ํธ๊ฐ ํฌ๋ช
ํด์ง๋ ๋์๋ ์ด๋ฏธ์ง๋ก ์ฒ๋ฆฌํฉ๋๋ค.
์ฐ๊ตฌ๋ฅผ ํตํด ๋ด๋ฆฐ ๊ฒฐ๊ณผ์
๋๋ค. ๋ฐ๋ผ์ ์ด๊ตฌ์ ์๋ธ ์ค๋ธ์ ํธ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ต์์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ก ์กฐ์ ํด ๊ทธ ์ด๋ฏธ์ง ์์์ ๊ทธ๋ฆฐ ํ,
๊ทธ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ์กด ์บ๋ฒ์ค์ ๊ทธ๋ ค์ค๋๋ค.