๋ฌด์จ ์ํ๋ง๋ค ๋ถ ๋ณ์ ๊ฒ๋ ๋ง๋ค์ด์ ํ๋ ์ ์ดํด์ฃผ๋๋ฐ ๋ง ๋ถ๋ฐ๋ค๋ผ๋ฉด์ ์์ฒญ ๋ณ๋ก๋ผ๊ณ ํ๋๋ผ๊ตฌ์ ์ข ๊น๋ํ๊ฒ ํ๋ ๋ฐฉ๋ฒ ์๋์
๋๋ฌด ์ถ์์ ์ธ ์ง๋ฌธ์ด๋ผ ๋๋ตํ๊ธฐ ์ด๋ ค์ด๋ฏ?? ๊ผญ ํ์ํ ๋ถ์ธ์ง ์ธ๋ชจ์๋๋ฐ ๋ง ๋ถ์ ๋ถ์ด๋ ๊ฑด์ง ๋ชจ๋ฅด์๋ ๊ตณ์ด ๋ช๊ฐ์ง ๋์์ด ์๋ค๋ฉด ๋ถ์ด ์๋ ๋ค๋ฅธ ์กฐ๊ฑด์ผ๋ก ์ ์ด๋ฅผ ํ๋ค๊ฑฐ๋ hp, ์๋, ์๋์์ ๊ฑฐ๋ฆฌ ๋ฑ ์ bool์ ๋ง์ด ์จ์ผํ๋ค ์ถ์๋ ๋นํธ์ฐ์ฐ์ ์ฌ์ฉํด์ ํ๋๊ทธ๋ฅผ ๋ง๋ค์ด์ ์ ์ดํด๋ ๋๊ตฌ..
๊ทผ๋ฐ ๋ญ.. ํ์ํ๋ฉด ์จ์ผ์ง..
๋ฏธ๋ฆฌ ์ํ ์ฐ๊ด์ฑ์ ์ธ๋ถ์ ๊ธฐ๋กํด๋๋ฉด ๋ถ๋ฐ๋ค์ฌ๋ ๊ฑธ์ด๋ค๋ ์ ์๊ธด ํจ - dc App
์๋๋ฉด ๊ทธ๋ฅ ์ํ ๋จธ์ ๊ด๋ จ๋๊ฑธ ์ฐพ์๋ณด๋ ๊ฐ - dc App
mutually exclusiveํ bool์ด๋ผ๋ฉด ์๋ฌด๋ฆฌ ๋ง๋๋ผ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ ๋ฒจ์์๋ ๋ฆฌ๋๋์๊ฐ ์๊ธฐ์ง ์์. ๋ค๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ผ๋ฉด ์กฐ๊ธ ๊ท์ฐฎ๋๋ผ๋ ๋ณ์๋ค์ ์ข ํตํฉํด ์ฃผ๋๊ฒ ์ข๊ฒ ์ง
๋ฏธ์ independent์ธ๋ฏ
์ํ์ ๋ฌด์ ๋ํด ๋ถ๋ณ์๊ฐ ์กด๋ ๋ง์ผ๋ฉด ์ด๋ฐ๊ฑด ์ด๋ฐ? ์ํ์ ๊ฐ๊ฐ 2์ n์น์ธ ์ซ์๋ก ์ทจ๊ธํ๋๊ฑฐ์. ์๋ฅผ๋ค์ด ๋ ์ 1 ํ์์ 2 ๊ธฐ์ ์ 4 ํผ๋์ 8์ด๋ผ๊ณ ํ๋ฉด ๋ +๊ธฐ์ ์ 5(1+4)๊ฐ ๋๋๊ฑฐ์. ๊ฑฐ๊ธฐ์ ํผ๋์ด ์ถ๊ฐ๋ก ๊ฑธ๋ ธ๋ค๋ฉด 8์ ๋ํด์ 13(1+4+8)์ด ๋๋๊ฑฐ์ง. ๋ฐ๋๋ก ์ด๋ค ์ํ์ ๊ฑธ๋ ค์๋์ง๋ ๋นํธ ์ฐ์ฐ์ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๊ฒ ๊ณ์ฐํ ์๋ ์์.
if(currentState & State.Fire) Fired(); ๋ญ ์ด๋ฐ ์์ผ๋ก
์ง๋๊ฐ๋ค ๋ดค๋๋ฐ ์ด๊ฑฐ ์ง์ง ๊ฐ์ฒ์ฌ์๋๋...๊ณ ๋ง๋ค - dc App
์ด๊ฒ ๊ฒฐ๊ตญ ์ฒซ๋๊ธ์ ๋นํธ ๋ง์คํฌ ๋ฐฉ์์ธ๊ฑด๋ฐ ์์งํ ์๋ ์ ์ปดํจํฐ ๊ตฌ๋ ค์ ์ฑ๋ฅ ์ต์ ํ ๊ฐ๋นก์ธ๊ฒ ํด์ผํ ๋๋ ์ฐ๋ ๋ฐฉ์์ด๊ณ ์์ฆ์ ๊ทธ๋ฅ ๋ค ๋ฐ๋ก ํด๋ฌ๋ ๋จ.. ์ ๋งํ ๋น์ฆ๋์ค๋ ๋ฒจ ๋ก์ง์ ๊ดํ ์ด๋ฌ์ง ๋ง๊ณ ๊ทธ๋ฅ ์ฐ์
๊ฐ๋ ์ฑ์ ๋ ์กฐ์ง๋ ๋ฐฉํฅ์ผ๋ก ๊ณ ์น๋ฉด ์ด์นด๋ ธ?
๋ถ๋ฐ๋ค ใ ใ ใ ์ผ์ค ์ข์๋ฐ ใ ใ ใ
์ฝ๋๋ฅผ ์ฌ๋ ค์ผ์ง ๋ญ์ํฉ์ธ์ง ์๋ฏ
fsm์จ
https://vmsdurano.com/c-coding-guidelines-and-practices/
??
, ? : ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ