์ถ์ฒ :ย http://www.yoyogames.com/blog/40
์ ๋ณด๊ฐ ๋ค์ด์์ ์์ ํฉ๋๋ค.
์์๊ฐ์ด ๊ธ๋ก๋ฒ ๊ฒ์ ์ธํ ์ short-circuit evaluations ๋ฅผ ์ฒดํฌํด์ฃผ๋ฉด ์๋์ ๊ฐ์ ์ผ์ ๋ฒ์ด์ง์ง ์๋๋ค๊ณ ํ๋ค์
์ ๋ ๋ค์ ์ ์ ์ค์ ๋ถ์ก์ ์ ์์์ต๋๋ค.
----------------------------------------------
์ด์ ๊ธ๋ด์ฉ
์ถ์ฒ : http://www.yoyogames.com/blog/23
Nest "if"
Currently GameMaker:Studio does not do any "easy out" evaluation of if. Consider the following code:
ย
if mouse_check_button(mb_left) && mouse_x > 200 && global.canshoot == true { //do something }ย
In many languages, the moment any one of the checks returns false, the rest are skipped and the next function is stepped into. However GameMaker:Studio will evaluate ALL of them, even if the first one is false. Therefore it is recommended that you "nest" your ifs like this:
ย
if mouse_check_button(mb_left) { if mouse_x > 200 { if global.canshoot == true { //do something } } }ย
While this may seem verbose, in a logic heavy game where multiple checks like this are necessary, it can help keep things optimized.
๊ฒ์๋ฉ์ด์ปค ๋ค์ด๋ฒย ์นดํ ๋๋ฌ๋ณด๋ค๋ณด๋ and๋ฅผ ์ฐ๋ฉด ์์ข๋ค๊ธธ๋ ํด์ ์ฐพ์๋ดค๋๋.....
(A<B) && (C<D) ์ ๊ฐ์ ์กฐ๊ฑด๋ฌธ์์ A<B๊ฐ false ์ธ ๊ฒฝ์ฐ์๋ C<D๋ฅผ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์ if๋ฌธ์ ๋๋ ์ฐ๋๊ฒ ์ข๋ค๊ณ ํ๋ค์.
์ ๋ ๊ทธ๋ง ์ ์ ์ ์๊ณ ๋ง์์ต๋๋ค.
--------------------------------------------------------------------
์ข์ ํ ๊ฐ์ฌ.
์ด๊ฑด ๊ฒ๋ฉ ๋ฟ ์๋๋ผ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์๋ ์ค์ํ ์ฌํญ์ธ๋ฐ, ๋ฌด์กฐ๊ฑด ๋๋๋๊ฒ ์๋๋ผ ์์ธ์ฒ๋ฆฌ ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
if(mySize < maxSize && array[mySize] == 1) ์ด๋ฐ ๊ฒฝ์ฐ์
mySize < maxSize๋ฅผ ๋จผ์ if๋ก ๊ฑฐ๋ฅธ ์ดํ์ array[mySize]๋ฅผ ํ๋ณํ๊ฒ๋ ๋ฐ๋ก ๋๋์ง ์๋๋ค๋ฉด
array ๋ฐฐ์ด ๋ฐ์ ์์น์ธ array[mySize]๋ฅผ ํ์ธํ๋๊น ํฐ์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
whatug// array๊ฐ array[0],array[1] ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ํฉ์์ maxSize=2, mySize=4 ์ธ๊ฒฝ์ฐ, array[4]==1 ์ ์ฐ์ฐ์ ํ๋ ๋์ค์ array[4]๋ฅผ ์ฐธ์กฐํ๋ ค๊ณ ํด์ ์๋ฌ๋๋ค~ ๋ผ๋ ์ํฉ์ผ๋ก ์ดํดํด๋ ๋ ๊น์?
๋น ๋ง์ต๋๋ค. ๊ทธ๋์ ๋น๊ตํ ๋์(์ดํฐ๋ ์ดํฐ ๋ฑ)์ด ์ฌ๋ฐ๋ฅธ์ง๋ถํฐ ์๋ณํ ๋ค์ ๋ฐฐ์ด๊ฐ ํ์ธ์ ํด์ผํฉ๋๋ค.
if๋ฌธ์ ๋๋ ์ ๋๋ ค์ง๋ค ์๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์์ธ์ฒ๋ฆฌ๋ผ๋๊ฒ ๋ค ๊ทธ๋ฐ๊ฑฐ ์๋๊ฒ ์ต๋๊น
whatug//์ฌํ๊ป ์ผ๋ฐ๋ณ์ ๋น๊ต๊ฐ์ ๋จ์ํ๊ฑฐ if๋ฌธ์ผ๋ก ๋ฐ๋ก ๋๋์ด ์ฒ๋ฆฌํ๊ธฐ ๊ท์ฐฎ์์ && ์ฐ์ฐ์ ๊ฒ๋๋ง์ด ์ผ์๋๋ฐ.. ๋ฌด์์์์์ ์ฒซ๋ฒ์งธ ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง์ด๋ฉด ๋ค์ชฝ์ ์คํตํ๊ฒ ์ง ๋ผ๊ณ ์๊ฐํ๋ ๊ฑด ์์ผํ ์๊ฐ์ด์์ง ๋ญก๋๊น.
if๋ฌธ ๋ด์ && || ๋ฑ์ ์ง์ง ๋์์ ํ๋ณํด์ผ ํ ๋๋ง ์ฐ๋๊ฒ ์ข์์ฌ.
if( mySize < 0 || mySize > maxSize) return; ์ด๋ฐ์์ผ๋ก ์ด ๋ผ์ธ์์๋ ์ฌ์ด์ฆ๊ฐ ์ ๋นํ์ง ์ฒดํฌ
์ ์ฝ๋๊ฐ์ ๊ฒฝ์ฐ๋ ๊ตฌํ์ฌ 0๋ฏธ๋ง์ธ์ง? ์ต๋๋ณด๋ค ํฐ์ง ๋๋ ํ์๋ ์์ด์ง์ง๋ง... ์ ์~์ ์๋๊ฑฐ๋... ์กฐ์ฌํด์ผํฉ๋๋น
์ด๊ฑฐ ์๋ ์ ๊ทธ๋ฌ๊ณ ์ง๊ธ์ ์๊ทธ๋ฐ๋์ ๊ฑ && ์ฐ์ ๋ ๋จ
http://www.yoyogames.com/blog/40
<-์ด๋ฏธ 1.3๋ฒ์ ์์ ์ ๋ฐ์ดํธ๋ ์ฌํญ์ด๋ ํ์ธํด๋ณด์๊ธธ
์์ฐ๋งจ//ํ์ต- ๊ฐ์ฌํฉ๋๋ค. ๊ธ ์์ ํด๋๊ฒ ์ต๋๋ค.
|| ์ด๊ฑฐ ์ฒจ์๋ดค์๋ ๋์ฒด ๋ฌด์จ ๋ฌธ์์ธ์ง ๋ชฐ๋ผ์ ๋นํฉํ์๋๋ฐ
๋ฌผ๋ก ์ง๊ธ๋ ๋ชจ๋ฆ ๋๋ค
์ใ ใ ใ ใ ์ด๊ฑฐ ์คํต์ํ๋ ์ธ์ด๋ ์์๊ตฌ๋ - dc App