GpgStudy °Ô½ÃÆÇ À妽º GpgStudy
Game Programming Gems Åä·Ð
 
 FAQFAQ   °Ë»ö°Ë»ö   ¸â¹ö¸®½ºÆ®¸â¹ö¸®½ºÆ®   »ç¿ëÀÚ ±×·ì»ç¿ëÀÚ ±×·ì  À̹ÌÁö ÀÚ·á½ÇÀ̹ÌÁö ÀÚ·á½Ç   »ç¿ëÀÚ µî·ÏÇϱâ»ç¿ëÀÚ µî·ÏÇϱâ 
 °³ÀÎ Á¤º¸°³ÀÎ Á¤º¸   ÂÊÁö(°³ÀÎ ¸Þ½ÃÁö)¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀÂÊÁö(°³ÀÎ ¸Þ½ÃÁö)¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀ   ·Î±×Àηα×ÀΠ
GpgStudy ȨÀ¸·Î

[°­Á ÃʾÈ] ÇÁ·Î±×·¡¹Ö°ú ¿µ¾î(3)

 
Àá±è[?]    GpgStudy °Ô½ÃÆÇ À妽º -> ÇÁ·Î±×·¡¹Ö ÀϹÝ
ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â  
±Û¾´ÀÌ ¸Þ½ÃÁö
·ù±¤



°¡ÀÔ: 2001³â 7¿ù 25ÀÏ
¿Ã¸° ±Û: 3413
¼Ò¼Ó: GPGstudy


Ÿ »çÀÌÆ® ID(?):
docbook.kr::·ù±¤
¿Ã¸®±â[°­Á ÃʾÈ] ÇÁ·Î±×·¡¹Ö°ú ¿µ¾î(3) ¿Ã·ÁÁü: 2002-09-03 23:15
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Ç×»ó ÇÏ´Â º¯¸íÀÌÁö¸¸ ³»¿ëÀ̳ª ±¸¼º ¸ðµÎ ¾î¼³Ç »óÅÂÀ̱¸¿ä. ÃʾȱîÁöµµ ¾È µÇ´Â ¼ö°í(note) Á¤µµ¶ö±î... ¾ðÁ¨°¡´Â Á» ´õ ¿ÏÀüÇÏ°Ô ´Ùµë°í ½Í½À´Ï´Ù¸¸...

Âü°í·Î 1 ÆíÀº http://www.gpgstudy...viewtopic.php?t=566, 2 ÆíÀº http://www.gpgstudy.../viewtopic.php?t=627

9. ±¸¹®Àû Á¤È®¼º°ú Àǹ̷ÐÀû Á¤È®¼º

(°©Àڱ⠰簡ÁöÀÌÁö¸¸ ÃʾÈÀ̴ϱî¿ä ¹¹-.- ³ªÁß¿¡ Á» ´õ °í¹ÎÀÌ ¼º¼÷µÇ¾î¼­ ¡®¹®Àå·Ð¡¯À» ¾µ ¼ö ÀÖ°Ô µÈ´Ù¸é ÀÌ ÀýÀº ¹®Àå·ÐÀÇ ÀϺΰ¡ µÉ °ÍÀÔ´Ï´Ù.)

¹®ÀåÀÌ ±¸¹®ÀûÀ¸·Î ¿Ç´Ù´Â ¸»Àº °£´ÜÈ÷ ¸»ÇÏ¸é ¹®¹ý¿¡ ¸Â´Â´Ù´Â À̾߱âÀÌ´Ù. À̸¦ Àû°Ý¼º(well-formedness)¶ó°íµµ ÇÑ´Ù. Àǹ̷ÐÀûÀ¸·Î ¿Ç´Ù´Â °ÍÀº ¸»ÀÌ µÈ´Ù´Â ¶æÀÌ´Ù. À̸¦ À¯È¿¼º(validity)¶ó°íµµ ÇÑ´Ù. ¿¹¸¦ µé¾î¼­ ¡°Time flies like an arrow.¡±´Â ±¸¹®ÀûÀ¸·Î³ª Àǹ̷ÐÀûÀ¸·Î³ª ¹®Á¦°¡ ¾øÁö¸¸, ¡°Thyme flies like an arrow.¡±Àº ±¸¹®ÀûÀ¸·Î ¿ÇÀ¸³ª Àǹ̷ÐÀûÀ¸·Î´Â Á» ÀÌ»óÇÏ´Ù(thymeÀº Çâ½Å·á-.-).
¿Ã¹Ù¸¥ ¹®ÀåÀº ±¸¹®ÀûÀ¸·Îµµ ¿Ç¾Æ¾ß Çϰí Àǹ̷ÐÀûÀ¸·Îµµ ¿Ç¾Æ¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº Àǹ̷ÐÀûÀ¸·Î ¿ÇÀ¸·Á¸é ±¸¹®ÀûÀ¸·Îµµ ¿Ç¾Æ¾ß ÇÑ´Ù. Áï Àû°Ý¼ºÀº À¯È¿¼ºÀÇ ÀüÁ¦ Á¶°ÇÀÌ´Ù. ¹Ý¸é ÀÚ¿¬ ¾ð¾î´Â ±×·¸Áö ¾ÊÀº °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦ µé¾î ¡®³¯À¸´Â ºñÇà±â¡¯´Â ±¸¹®ÀûÀ¸·Î ¿ÇÁö ¾ÊÁö¸¸(¡®³ª´Â ºñÇà±â¡¯°¡ ¿Ç´Ù) ¶æÀº ÅëÇϱ⠶§¹®ÀÌ´Ù.

ÄÄÆÄÀÏ ¾ð¾î·Î µÈ ÇÁ·Î±×·¥ ¹®ÀåÀÇ ±¸¹®Àû Á¤È®¼ºÀº ÄÄÆÄÀÏ ½ÃÁ¡¿¡¼­ ÆÇ´ÜµÈ´Ù. ¹Ý¸é Àǹ̷ÐÀû Á¤È®¼ºÀº ½ÇÇà ½ÃÁ¡¿¡¼­ ÆÇ´ÜµÈ´Ù. ±¸¹®ÀûÀ¸·Î Á¤È®ÇÏÁö ¾ÊÀº ¹®ÀåÀº ÄÄÆÄÀÏ ¿À·ù(¼ÒÀ§ ½ÅÅýº ¿¡·¯)¸¦ ³»¸ç, ÀÌ´Â Àâ¾Æ³»±â ½±´Ù. Àǹ̷ÐÀûÀ¸·Î Á¤È®ÇÏÁö ¾ÊÀº ¹®ÀåÀº ¹ö±× ¶Ç´Â ³í¸®Àû ¿À·ù°¡ µÇ¸ç, ÄÄÆÄÀÏ ¿À·ù¿¡ ºñÇØ Àâ¾Æ³»±â ¾î·Æ´Ù.

¿À·ù¸¦ ÇÇÇÏ°í µð¹ö±ëÀ» ÁÙÀÏ ¼ö ÀÖÀ¸·Á¸é ±¸¹®Àû Á¤È®¼ºÀÌ Àǹ̷ÐÀû Á¤È®¼ºÀ» ÃÖ´ëÇÑ º¸ÀåÇØ ÁÙ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. C++ó·³ Çü½Ä(type)¿¡ ¾ö°ÝÇÑ ¾ð¾î´Â ±×·¯ÇÑ º¸ÀåÀÌ ºñ±³Àû ½±´Ù. ÀÌ´Â CÀÇ printf()¿Í C++ÀÇ cout À» ºñ±³ÇÏ¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.

Ç¥ÁØ C ¶óÀ̺귯¸®ÀÇ ÇÔ¼ö printf()ÀÇ ¿øÇüÀº ´ÙÀ½°ú °°´Ù.

int printf(const char* format, ...) ;

ù ¹øÂ° ¸Å°³º¯¼ö¸¸ ÇüÀÌ Á¤ÇØÁ® ÀÖ°í ±× ´ÙÀ½ºÎÅÍ´Â °¡º¯ÀμöµéÀÌ´Ù. ÀÌ´Â ±¸¹®ÀûÀ¸·Î ¿ÇÁö¸¸ Àǹ̷ÐÀûÀ¸·Î´Â ¿ÇÁö ¾ÊÀº ¹®Àå¿¡ ´ëÇÑ ¾î¶°ÇÑ º¸È£µµ ¾ø´Ù´Â ¶æÀÌ´Ù. ¿¹¸¦ µé¾î:

printf("°á°ú: %s", s);

ÀÌ·¯ÇÑ ¹®ÀåÀº s°¡ ³Î Á¾·á ¹®ÀÚ¿­ÀÏ ¶§¿¡¸¸ ¾ÈÀüÇÏ´Ù. ÀÌ ¹®Àå ÀÚü´Â ±¸¹®ÀûÀ¸·Î ¿ÇÁö¸¸ s°¡ ³Î Á¾·á ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¸é Àǹ̷ÐÀûÀ¸·Î ¿ÇÁö ¾Ê°Ô µÈ´Ù.
¹Ý¸é coutÀº ±¸¹®Àû Á¤È®¼ºÀÌ Àǹ̷ÐÀû Á¤È®¼ºÀ» (¾î´ÀÁ¤µµ)º¸ÀåÇÑ´Ù.

cout << "°á°ú:" << s;

¸¸ÀÏ s°¡ int¶ó¸é sÀÇ °ªÀÌ ¹®ÀÚ¿­·Î¼­ Ãâ·ÂµÈ´Ù. ³Î Á¾·á ¹®ÀÚ¿­À̶ó¸é s¿¡ ´ã±ä ¹®ÀÚ¿­ ÀÚü°¡ Ãâ·ÂµÈ´Ù. s°¡ ¾î¶² ±¸Á¶Ã¼³ª Ŭ·¡½ºÀÇ °´Ã¼¶ó¸é, ±× Ŭ·¡½º°¡ << ¿¬»êÀÚ¸¦ Áö¿øÇÑ´Ù¸é ±×¿¡ ¸Â°Ô Ãâ·ÂÀÌ µÇ°í ±×·¸Áö ¾Ê´Ù¸é ÄÄÆÄÀÏ ¿À·ù°¡ »ý±ä´Ù. Áï Àǹ̷ÐÀûÀ¸·Î ¿ÇÁö ¾ÊÀº ¹®ÀåÀÌ ±¸¹®ÀûÀ¸·Î °ÅºÎµÇ´Â °ÍÀÌ´Ù.
º¯¼ö, ÇÔ¼ö À̸§À» Á¦´ë·Î ºÙÀÌ°í ¿µ¾î ¹®ÀåÀ» ¿°µÎ¿¡ µÎ¸é¼­ Äڵ带 ¸¸µå´Â °ÍÀº ±¸¹®ÀûÀ¸·Î ¿ÇÀº Äڵ尡 Àǹ̷ÐÀûÀ¸·Îµµ ¿ÇÀº Äڵ尡 µÇ°Ô ÇÏ´Â µ¥ ÀÏÁ¤ÇÑ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
(!!ÀÌ ºÎºÐ¿¡¼­ Á» ´õ ±¸Ã¼ÀûÀÎ »ç·Ê°¡ ÇÊ¿ä!!)

10. ¾îÈÖ

¾îÈÖ´Â °£´ÜÈ÷ ¸»ÇÏ¸é ´Ü¾î, ¼÷¾îµéÀÇ ÁýÇÕÀÌ´Ù. ÇÁ·Î±×·¥ÀÇ ¾îÈÖ´Â °ð ÇÁ·Î±×·¥¿¡ ¾²ÀÎ ½Äº°ÀÚµé(Ŭ·¡½º, º¯¼ö, »ó¼ö, ÇÔ¼ö µîµîÀÇ À̸§µé)ÀÇ ÁýÇÕ¿¡ ÇØ´çÇÑ´Ù.
ÇÁ·Î±×·¡¸Ó´Â ¾îÈÖ°¡ dzºÎÇØ¾ß Çϳª ÀÚ½ÅÀÇ ¾îÈÖ·ÂÀ» ÀÚ¶ûÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¾îÈÖ°¡ dzºÎÇÏ´Ù´Â °ÍÀº ÇØ´ç ¾ð¾îÀÇ Å°¿öµåµéÀ̳ª Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ ÇÔ¼ö, Ŭ·¡½ºµéÀ» Àß ¾Ë°í ÀÖ´Ù´Â ¶æÀÌ´Ù. ¿¹¸¦ µé¾î¼­ for¸¸ ¾Ë°í whileÀ» ¸ð¸£´Â »ç¶÷À̳ª printf¸¸ ¾Ë°í coutÀº ¸ð¸£´Â »ç¶÷º¸´Ù´Â µÑ ´Ù ¾Æ´Â »ç¶÷ÀÌ ´õ ³ªÀº Äڵ带 ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¹Ý¸é ¾îÈÖ°¡ dzºÎÇÏ´Ù°í ÇØ¼­ ÇÑ ÇÁ·Î±×·¥¿¡¼­ ÇÊ¿ä ÀÌ»óÀ¸·Î ¸¹Àº Á¾·ùÀÇ ´Ü¾îµéÀ» Áý¾î ³ÖÀ» ÇÊ¿ä´Â ¾ø´Ù. ¿¹¸¦ µé¾î ¼­·Î ´Ù¸¥ ÀÚ·áÇüµé¿¡ ´ëÇØ µ¿µîÇÑ ÀÏÀ» ÇÏ´Â ÇÔ¼ö¶ó¸é °°Àº À̸§À» ºÙÀÌ°í ¸Å°³º¯¼ö ¸ñ·Ï¿¡¸¸ Â÷À̸¦ µÎ¾î¼­ Áߺ¹½ÃŰ¸é µÈ´Ù.

ÀÏ»ó ¾ð¾î¿Í ¸¶Âù°¡Áö·Î, ÇÁ·Î±×·¡¹Ö ¾îÈÖ´Â ¹«ÇÑÇÏ´Ù. ÀÌ´Â ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ º¯¼ö¶ó´Â °³³äÀ» Áö¿øÇϸç, ¶ÇÇÑ »ç¿ëÀÚ Á¤ÀÇÇüÀ̳ª »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ Áö¿øÇϱ⠶§¹®ÀÌ´Ù. ¿ª½Ã ÀÏ»ó ¾ð¾î·Î ¾²¿©Áø Ã¥À̳ª ¹®¼­¿¡¼­Ã³·³, ƯÁ¤ÇÑ ÇÑ ÇÁ·Î±×·¥ ¾È¿¡¼­ÀÇ ¾îÈÖ´Â À¯ÇÑÇÏ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµé¿¡¼­ ½Äº°ÀÚµéÀº ÀÌ¹Ì ¼Ò½º Äڵ尡 ÀÛ¼ºµÉ ¶§ °íÁ¤µÇ±â ¶§¹®ÀÌ´Ù. ´ëü·Î ÇÁ·Î±×·¡¹Ö¿¡¼­´Â (ºñÀ¯ÇÏÀÚ¸é)°£°áü, °ÇÁ¶Ã¼ °°Àº ¹®Ã¼µéÀÌ ¼±È£µÇ¹Ç·Î, ÁÁÀº ÇÁ·Î±×·¥Àº ¡®Ç³ºÎÇÑ ¾îÈÖ Áß¿¡¼­ ²À ÇÊ¿äÇÑ ³¹¸»µé¸¸À¸·Î ¸¸µé¾îÁø¡¯ ÇÁ·Î±×·¥À̶ó°í ÇÒ ¼ö ÀÖ´Ù.

11. ÇÔ¼ö¿¡ ÀÚÁÖ ¾²ÀÌ´Â µ¿»çµé

ÇÔ¼öµéÀº ¾²ÀÓ»õ¿¡ µû¶ó Å©°Ô

1. ¹º°¡¸¦ µ¹·ÁÁÖ´Â ÇÔ¼ö
2. °´Ã¼ÀÇ »óŸ¦ º¯°æÇÏ´Â ÇÔ¼ö
3. ¿ÜºÎ ½Ã½ºÅÛ¿¡ ´ëÇØ ¹º°¡¸¦ ¼öÇàÇÏ´Â ÇÔ¼ö

·Î ³ª´­ ¼ö ÀÖ´Ù.

¿¹¸¦ µé¾î GetDC()´Â 1¹ø, SetDC()´Â 2¹ø, DrawText()´Â 3¹ø¿¡ ÇØ´çÇÑ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ÇϳªÀÇ ÇÔ¼ö°¡ ¼¼°¡Áö Á¾·ù Áß µÑ ÀÌ»ó¿¡ ÇØ´çÇÏ´Â °æ¿ìµµ ÀÖÀ¸¸ç, ±×·± °æ¿ì °¡µ¶¼ºÀ» À§Çؼ­´Â ÇÔ¼ö À̸§¿¡ µÑ ÀÌ»óÀÇ µ¿»çµéÀÌ µé¾î°¡°Å³ª(¿¹: SetCursorPositionAndDrawText(x, y, str) µî), ¾Æ´Ï¸é °³º°ÀûÀÎ ÇÔ¼öµé·Î ºÐ¸®ÇØ¾ß ÇÒ °ÍÀÌ´Ù(SetPosition(x, y) ; DrawText(); )

1. ¹º°¡¸¦ µ¹·ÁÁÖ´Â ÇÔ¼ö¿¡ ÁÖ·Î ¾²ÀÌ´Â µ¿»çµé(ÀÌÇÏ µ¹·ÁÁÖ´Â µ¿»ç)

°¡Àå ´ëÇ¥ÀûÀÎ µ¿»ç´Â getÀÌ´Ù. ±×·±µ¥ ¿Ö returnÀÌ ¾Æ´Ñ°¡? ÇÑ °¡Áö ÀÌÀ¯´Â, returnÀº ½ÇÇà È帧ÀÇ Á¦¾î¿¡ °ü·ÃµÈ ¶æÀ¸·Î ¾²ÀÌ´Â °æ¿ì°¡ ¸¹±â ¶§¹®ÀÌ´Ù. ¶Ç ´Ù¸¥ ÀÌÀ¯´Â Á־ ¹«¾ùÀ¸·Î º¼ °ÍÀΰ¡ÀÇ ¹®Á¦ÀÌ´Ù. Á־ °´Ã¼ ÀÚü¶ó¸é returnÀÌ ´õ ÀÚ¿¬½º·´°ÚÁö¸¸, µîÈ£ ¿ÞÂÊ(lhs)ÀÇ º¯¼ö¸¦ ÁÖ¾î·Î º»´Ù¸é getÀÌ ´õ ÀÚ¿¬½º·´´Ù..

¿¹:

Result = Vector1.returnSize(); // Vector1ÀÌ ÀÚ½ÅÀÇ Å©±â¸¦ Result¿¡°Ô 'µ¹·ÁÁØ´Ù'.

Result = Vector1.getSize(); // Result°¡ Vector1ÀÇ Å©±â¸¦ '¾ò´Â´Ù'.

* get - °¡Àå ÈçÈ÷ ¾²À̸ç ÀǹÌÇÏ´Â ¹üÀ§µµ °¡Àå ³Ð´Ù. GetDC(), getInstance(), getPosition() µîµî. getÀº ¾Æ·¡¿¡ ³ª¿­µÈ ´Ù¸¥ ¸ðµç µ¹·ÁÁÖ´Â µ¿»çµéÀ» Æ÷°ýÇÑ´Ù. ±×·¯³ª, getÀÇ ¿ëµµ¸¦ ÃÖ´ëÇÑ ÇÑÁ¤½ÃŲ´Ù¸é ÁÖ·Î ¡®ÀÌ¹Ì °è»êµÇ¾î ÀÖ´Â °´Ã¼ÀÇ ¼Ó¼º ¶Ç´Â ½Ã½ºÅÛÀÇ Æ¯Á¤ »óŸ¦ µ¹·ÁÁÖ¸ç »óÅÂ, ½Ã½ºÅÛÀ» º¯°æÇϰųª ¾î¶°ÇÑ º¹ÀâÇÑ Ã³¸®¸¦ ÇÏÁö ¾Ê´Â¡¯ ÇÔ¼ö¿¡ ¾²´Â °ÍÀÌ ÁÁ´Ù°í º»´Ù.
* retrieve - get¿¡ ºñÇØ À̰ÍÀº ¹ÝȯÇÒ °á°ú¸¦ ã±â À§ÇÑ Ã³¸®(ÁÖ·Î °Ë»ö)°¡ ÀϾÀ» ¾Ï½ÃÇÑ´Ù. ÇÊ¿äÇÏ´Ù¸é ÀÌ µ¿»ç´Â search °°Àº ½ÇÁ¦ ¼öÇà µ¿»ç¿Í getÀ¸·Î ³ª´­ ¼ö ÀÖ´Ù.

¿¹:

aCheapestApple = anAppleBox.retrieveApple(CHEAPEST);

=>

anAppleBox.search(CHEAPEST);
aCheapestApple = anAppleBox.getSearchResult();

* acquire - Á¦ÇÑµÈ ÀÚ¿øÀ» µ¶Á¡ÀûÀ¸·Î È®º¸ÇÑ´Ù´Â ¶æÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î ÁÖ¾îÁø À©µµ¿ì ¶Ç´Â ½Ã½ºÅÛ Àüü¿¡ DC°¡ ÇϳªÀ̸ç GetDC()·Î ¾òÀº DC¸¦ ReleaseDC()·Î Ç®±â Àü±îÁö´Â È¥ÀÚ¸¸ »ç¿ëÇØ¾ß ÇÏ´Â »óȲÀ̶ó°í ÇÏÀÚ. ±×·± °æ¿ì¶ó¸é GetDC() º¸´Ù´Â AcquireDC()°¡ ´õ ÀûÇÕÇÏ´Ù. ¹Ýȯ°ªÀº È®º¸ÇÑ °´Ã¼ ÀÚü³ª Æ÷ÀÎÅÍ, ÇÚµé µîÀÌ´Ù. ¹Ý´ë¸»Àº release³ª unacquire(get¿¡ ´ëÇØ release¸¦ »ç¿ëÇÑ´Ù¸é acquire¿¡ ´ëÇØ¼­´Â unacquire¸¦ »ç¿ëÇØ¼­ ±¸ºÐÇØ ÁÖ´Â °ÍÀÌ ÁÁÀ» °ÍÀÓ).

¿¹:

AudioManager AudioMgr = new DxAudioManagerImpl();
...
AudioDevice* anAudioDevice = AudioMgr.acquireDevice();
...
AudioMgr.unacquireDevice(anAudioDevice);

* fetch - µ¹·ÁÁØ °ªÀ» ´ã°í ÀÖ´Â ÄÁÅ×À̳ÊÀÇ ³»ºÎ »óŰ¡ º¯ÇÔÀ» ÀǹÌÇÑ´Ù. ÁÖ¾îÁø ÄÁÅ×ÀÌ³Ê ¾ÈÀÇ ¾î¶² °ªÀ» °¡Á®¿À¸é ÇöÀç °ªÀÇ À§Ä¡¸¦ °¡¸®Å°´Â Æ÷ÀÎÅͰ¡ ´ÙÀ½ °ªÀ¸·Î À̵¿ÇÏ°Ô µÇ´Â °æ¿ì¿¡ fetch°¡ ¾²ÀδÙ. µ¥ÀÌÅͺ£À̽º API¿¡¼­ ÈçÈ÷ º¼ ¼ö ÀÖ´Ù. ½ºÅÃÀÇ pop°úµµ ºñ½ÁÇÏ´Ù. ¶ÇÇÑ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¸¹Àº ÇÔ¼öµéÀÌ ÀÌ·¯ÇÑ fetch ½ÄÀ¸·Î ÀÛµ¿ÇÑ´Ù. ÀÌ´Â moveNext¿Í getÀ¸·Î ºÐ¸®µÉ ¼ö ÀÖ´Ù.

¿¹:

UnitList.reset();
pUnit1 = UnitList.fetch();
pUnit2 = UnitList.fetch();
=>
UnitList.moveFirst();
pUnit1 = UnitList.getUnit();
UnitList.moveNext();
pUnit2 = UnitList.getUnit();

* be µ¿»ç¿Í Á¶µ¿»ç - À̵éÀº ¾î¶°ÇÑ »óÅ ¶Ç´Â ¿©ºÎ¸¦ ¶æÇÏ´Â ºÎ¿ï °ªÀ» µ¹·ÁÁÙ ¶§ ÁÖ·Î ¾²ÀδÙ.

¿¹:
while ( isDone ) {
if ( currentUnit.hasWeapon() ) ....
....

}

2. °´Ã¼ÀÇ »óŸ¦ º¯°æÇÏ´Â ÇÔ¼ö¿¡ ÁÖ·Î ¾²ÀÌ´Â µ¿»çµé

°´Ã¼ ¶Ç´Â ÇöÀç ¹üÀ§ÀÇ ¾î¶² °ªÀ» º¯°æÇÏ´Â ÇÔ¼öµé¿¡ °¡Àå ÈçÈ÷ ¾²ÀÌ´Â µ¿»ç´Â setÀÌ´Ù. ÀÌ·± µ¿»çµéÀº ¹Ýȯ°ªÀÌ ¾ø°Å³ª ¶Ç´Â ÇÔ¼öÀÇ ¼º°ø ¿©ºÎ¸¦ ¾Ë·ÁÁÖ´Â ¹Ýȯ°ªÀ» °¡Áø´Ù.

¶Ç´Â º¯°æµÇ±â ÀüÀÇ »óųª º¯°æµÈ ÈÄÀÇ »óŸ¦ µ¹·ÁÁֱ⵵ Çϴµ¥(Win32 APIÀÇ SelectObject() µî) ÄÚµùÀÇ ¾çÀ» ÁÙÀÌ´Â µ¥¿¡´Â ÁÁÁö¸¸ °¡µ¶¼º ¸é¿¡¼­´Â È¥¶õÀÇ ¿©Áö°¡ ÀÖ´Ù.

»óŸ¦ º¯°æÇÏ´Â ÇÔ¼ö¿¡ ¾²ÀÌ´Â µ¿»çµéÀÇ Á¾·ù´Â µ¹·ÁÁÖ´Â µ¿»çº¸´Ù ÈξÀ ´õ ¸¹´Ù. ÀÌ´Â »óŸ¦ º¯°æÇÏ´Â ÇÔ¼öÀÇ µ¿»ç´Â ±× »óŰ¡ ¾î¶² Á¾·ùÀÇ °ªÀÎ Áö, ±×¸®°í ±× »óŸ¦ º¯°æÇÏ´Â µ¥ ¾î¶² ÀÛ¾÷ÀÌ ÇÊ¿äÇÑ Áö¿¡ µû¶ó ¾ó¸¶µçÁö ´Ù¾çÇØÁú ¼ö Àֱ⠶§¹®ÀÌ´Ù.

µû¶ó¼­ »ç½Ç ¡®ÁÖ·Î ¾²À̴¡¯À̶ó°í ÇÒ¸¸ÇÑ µ¿»ç´Â set Á¤µµÀÌ´Ù.

* set - °¡Àå ÈçÇÏ°Ô ¾²ÀδÙ. ¼³¸íÀÌ ÇÊ¿ä¾ø°ÚÁö¸¸ ±»ÀÌ ºÎ¿¬ ¼³¸íÀ» ÇÏÀÚ¸é, getÀÇ ¹Ý´ë¹°À̶ó´Â Â÷¿ø¿¡¼­, »óÅÂÀÇ º¯°æ¿¡ º¹ÀâÇÑ Ã³¸®°¡ ÀϾÁö ¾Ê´Â ºñ±³Àû ´Ü¼øÇÑ ÄÚµå·Î µÈ ÇÔ¼ö¿¡ ÀûÇÕÇÏ´Ù.

3. ¿ÜºÎ ½Ã½ºÅÛ¿¡ ¹º°¡¸¦ ¼öÇàÇÏ´Â ÇÔ¼ö¿¡ ÁÖ·Î ¾²ÀÌ´Â µ¿»çµé

2¹ø°ú ¸¶Âù°¡Áö·Î, ¼öÇàÇÏ´Â ÀÛ¾÷À̳ª ¿ÜºÎ ½Ã½ºÅÛ¿¡ µû¶ó ´Ù¾çÇÑ µ¿»çµéÀÌ ¾²À̹ǷΠÁÖ·Î ¾²ÀÌ´Â µ¿»çµéÀ̶ó°í ÇÒ¸¸ÇÑ °ÍÀº ¾ø´Ù. ´Ù¸¸ °ÔÀÓÀÇ °æ¿ì ¿ÜºÎ ½Ã½ºÅÛÀÌ ÁÖ·Î ±×·¡ÇÈ, ¿Àµð¿À, ÀÔ·Â ÀåÄ¡µéÀ̹ǷΠ±»ÀÌ °í¸¥´Ù¸é ¸î °¡Áö¸¦ °í¸¦ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

±×·¡ÇÈ ½Ã½ºÅÛ

display - ½ÇÁ¦ÀÇ ½Ã°¢Àû º¯È­¸¦ ÀÏÀ¸Å²´Ù´Â Àǹ̰¡ ÀÖ´Ù(¹öÆÛ ½º¿Ò µî ½ÇÁ¦ ºñµð¿À ¸Þ¸ð¸® °»½ÅÀÇ Â÷¿ø¿¡¼­). ¶Ç´Â ¾Æ·¡ÀÇ µ¿»çµéÀ» Æ÷°ýÇÏ´Â °íÂ÷¿ø ÇÔ¼ö¿¡µµ ¾²ÀδÙ(ƯÁ¤ ±×·¡ÇÈ API¿¡ ±¹ÇѵÇÁö ¾Ê´Â...)

render - display¿Í ºñ½ÁÇϳª ³»ºÎ ¹öÆÛ ¸Þ¸ð¸®ÀÇ °»½Å¸¸ ÀǹÌÇÒ ¼öµµ ÀÖ´Ù. Áï render ÈÄ »óȲ¿¡ µû¶ó display°¡ ¼öÇàµÇ´Â µî. renderºÎÅʹ ƯÁ¤ ±×·¡ÇÈ API¿¡ ±¹ÇÑµÈ ÇÔ¼ö¿¡ °¡±î¿ÍÁø´Ù. ¸ñÀû¾î¸¦ °¡Áú ¼ö ÀÖ´Ù(renderScene, renderBackground µî)

draw - °³º° µ¥ÀÌÅͳª °³º° °³Ã¼¸¦ ±×¸°´Ù´Â Àǹ̷Π¸¹ÀÌ ¾²ÀδÙ. Model.draw()³ª drawText() µî. render ¾È¿¡¼­ ÀϾ´Â °æ¿ì°¡ ¸¹´Ù.

put - ÁÖ·Î 2D¿¡¼­ Á¡À̳ª ½ºÇÁ¶óÀÌÆ®¸¦ ¡®Âï´Â´Ù¡¯´Â Àǹ̷Π¾²ÀδÙ. ½ÇÁ¦ÀÇ ½Ã°¢Àû º¯È­º¸´Ù´Â ³»ºÎ ¸Þ¸ð¸®¿¡¼­ÀÇ º¯È­ÀÏ °¡´É¼ºÀÌ Å©´Ù. 3D¿¡¼­´Â º°·Î ¾²ÀÌÁö ¾ÊÀ½. ¸ñÀû¾î¸¦ °¡Áö´Â °æ¿ì°¡ ¸¹´Ù(putPixel, putSprite µî)

flush - ±×·¡ÇÈÀ̳ª Àå¸é µ¥ÀÌÅ͸¦ ½ºÆ®¸²À¸·Î °£ÁÖÇÒ ¶§ ¾²ÀδÙ. Áö±Ý±îÁö ¸í·É ¹öÆÛ ¶Ç´Â ÇÁ·¹ÀÓ ¹öÆÛ¿¡ ½×¿© ÀÖ´Â µ¥ÀÌÅ͸¦ ½ÇÁ¦ ÀåÄ¡·Î ¹Ð¾î ³»º¸³½´Ù´Â Àǹ̸¦ °¡Áø´Ù.

¿Àµð¿À ½Ã½ºÅÛ

play - ¸» ±×´ë·Î Àç»ý. ´ë»óÀº Ãâ·Â ¹öÆÛº¸´Ù´Â À½¾Ç, À½¼º µ¥ÀÌÅ͸¦ °¨½Î°í ÀÖ´Â Á» ´õ °íÂ÷¿øÀÇ °´Ã¼ÀÏ °¡´É¼ºÀÌ ¸¹´Ù. ¹«¾ùÀ» Àç»ýÇϴ°¡¿¡ µû¶ó ¸ñÀû¾î¸¦ °¡Áú ¼ö ÀÖ´Ù(playSFX, playMusic µî).

perform - playº¸´Ù Á» ´õ °í¼öÁØ. ¡®¿¬ÁÖ¡¯¸¦ ¶æÇÑ´Ù. µû¶ó¼­ ÀÌ µ¿»çÀÇ ´ë»óÀº À½¼º µ¥ÀÌÅÍ Â÷¿øº¸´Ù ³ôÀº ¿¬ÁÖ Á¤º¸¸¦ ´ã´Â °´Ã¼°¡ µÉ °ÍÀÌ´Ù.

output - play º¸´Ù´Â Àú¼öÁØ. ¹ÙÀÌÆ® Â÷¿øÀÇ ÆÄÇü Á¤º¸¸¦ Ãâ·Â ¹öÆÛ·Î ³»º¸³»´Â °æ¿ì.

ÀÔ·Â ÀåÄ¡

ÀÔ·Â ÀåÄ¡ÀÇ Æ¯¼º »ó ÀÔ·Â ÀåÄ¡¿¡ ´ëÇØ ¹º°¡¸¦ ¼öÇàÇÏ´Â °æ¿ì´Â º°·Î ¾ø°í ÀÔ·Â ÀåÄ¡·ÎºÎÅÍ Á¤º¸¸¦ ¾ò´Â °ÍÀÌ ´ëºÎºÐÀ̹ǷΠ¾Õ¿¡¼­ ¸»ÇÑ µ¹·ÁÁÖ´Â µ¿»çµéÀÌ ÁÖ·Î ¾²ÀδÙ. ¿¹¿Ü´Â Áøµ¿ ±â´É(force-feedback)ÀÏ °ÍÀÌ´Ù.

4. ¾Ö¸ÅÇÑ µ¿»çµé - µ¹·ÁÁÙ °ÍÀΰ¡ ¸» °ÍÀΰ¡

¿¹¸¦ µé¾î¼­ ±âº» ´ë¹ÌÁö¿Í Ÿ°Ý °¡´É¼ºÀ¸·Î ½ÇÁ¦ ´ë¹ÌÁö¸¦ °è»êÇÏ´Â calculateDamage(BaseDamage, HitProbability)¶ó´Â ÇÔ¼ö°¡ ÀÖ´Ù¸é, °è»êµÈ ½ÇÁ¦ ´ë¹ÌÁö´Â ¾îµð·Î °¡¾ßÇÒ±î? µÎ °¡Áö °¡´É¼ºÀÌ ÀÖ´Ù.

1)
aTotalDamage = calculateDamage(BaseDamage, HitProbability);
2)
aDamageCalculator.calculateDamage(BaseDamage, HitProbability);
aTotalDamage = aDamageCalculator.getDamage();

//¶Ç´Â ÀÌ·± ½ÄÀ¸·Îµµ ¾²ÀÏ °ÍÀÌ´Ù
player.UpdateHP( aDamageCalculator.getDamage() );

ÀÌ ¿¹°¡ ¸»ÇÏ´Â °ÍÀº, µÑ Áß ¾î´À °ÍÀ» ÅÃÇÒ °ÍÀΰ¡´Â ´ë¹ÌÁö¸¦ °è»êÇϱâ À§ÇÑ °´Ã¼°¡ µû·Î ÇÊ¿äÇÒ °ÍÀΰ¡ÀÇ ¹®Á¦¶ó´Â Á¡ÀÌ´Ù. Á» ºñ¾àÇÏÀÚ¸é, ÀÌ´Â ¡®½ºÅ¸ÀÏÀÇ ¹®Á¦´Â °´Ã¼ ÁöÇâÀû ¼³°èÀÇ ¹®Á¦À̱⵵ ÇÏ´Ù¡¯¸¦ ÀǹÌÇÏ°Ô µÈ´Ù.


·ù±¤ °¡ 2007-09-18 00:20¿¡ ¼öÁ¤ÇÔ, ÃÑ 1 ¹ø ¼öÁ¤µÊ
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹®
puru
¼Õ´Ô





¿Ã¸®±âµ¿»ç¿¡ Ãß°¡Çؼ­ ¿Ã·ÁÁü: 2002-09-06 09:49
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

°¡²û°¡´Ù°¡..
¸í»ç³ª Çü¿ë»ç·Î ÇÔ¼ö¸íÀ» Áö¾î¾ß ÇÒ¶§°¡ ÀÖ½À´Ï´Ù.
¹«¾ù¹«¾ù°ú °°Àº°ÍÀ»...ÇØ¶ó..
À½ ´Ü¼øÇÑ µ¿»ç·Î Çß´Ù°¡´Â Àǹ̰¡ ¾Ö¸ÅÇØÁö´Â °æ¿ì¸¦ ¸»Çϴ°ÍÀÌÁÒ..
±×·²¶§´Â ÀúÀÇ °æ¿ì´Â Do¸¦ ¾Õ¿¡ ½áÁÝ´Ï´Ù.
ÇൿÀ» ÇØÁà¾ß ÇÑ´Ù´Â°É °­Á¶ÇØ Áִ°ÅÁÒ..
º®±ú´Â µ¿ÀÛÀ» ÇØ¶ó.. ¶ó°í ÇÒ¶§ BreakTheWallÀ» Çϸé..
º®À»±ú´Â°ÅÁö¸¸.
DoMotionBreakingTheWall À̶ó°í ÇÏ¸é º®±ú´Â µ¿ÀÛÀ» ÇØ¶ó ¶ó°í ÇÏ°Ô µË´Ï´Ù.

ȤÀº.. bool°ªÀ» ¹ÝȯÇÏ´Â ´Ü¼ø»óÅÂÀÇ °æ¿ì´Â Is³ª Does¸¦ ¾Õ¿¡ ½áÁÝ´Ï´Ù.
ÀÌ·± Æã¼ÇÀ» If¹® ¾È¿¡ ½áÁÖ¸é ÁÖ¼®À» ¾²Áö¾Ê¾Æµµ Àǹ̰¡ ¸í·áÇØ Áý´Ï´Ù.
GetBound?? ÀÌ·±°Ç À̸§ÀÚü°¡ À߸øµÈ°ÅÁö¸¸.. boolÀ» ÀÌ·¸°Ô ¾²¸é ¿ô±æ¶§°¡ ÀÖ´Ù°í Ä¡°í
IsInsideBound ´Â ¸í·áÇÏ°Ô Âü°ÅÁþÀ» Äõ¸®Çϴ°Ŷó´Â ÀνÄÀ» ÇÏ°Ô ÇÏÁÒ..
À½... ÀÌ°Ç Á¦ ½À°üÀ̶ó¼­... ¸¹Àº °ø°Ý ¹Ù¶ø´Ï´Ù.
À§·Î
·ù±¤



°¡ÀÔ: 2001³â 7¿ù 25ÀÏ
¿Ã¸° ±Û: 3413
¼Ò¼Ó: GPGstudy


Ÿ »çÀÌÆ® ID(?):
docbook.kr::·ù±¤
¿Ã¸®±â ¿Ã·ÁÁü: 2002-09-06 17:18
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

¾Æ ÁÁÀº ÁöÀûÀÔ´Ï´Ù.. µ¿»çµéÀ» À̾߱âÇϸ鼭 ¹º°¡ ºüÁø µíÇÑ ´À³¦ÀÌ µé¾ú´Âµ¥ Do ·ùÀÇ µ¿»çµéÀ̾ú³×¿ä. do, excute, run, process µî... À̵éÀÇ ¹Ì¹¦ÇÑ Â÷ÀÌ¿¡ ´ëÇØ¼­µµ Á¶¸¸°£ Á¤¸®ÇØ¾ß °Ú½À´Ï´Ù...

ÇÑ °¡Áö.. DoÀÇ °æ¿ì ¶Ç ´Ù¸¥ ¿ë¹ýÀº Do ´ÙÀ½¿¡ ½ÇÁ¦ µ¿»ç°¡ ¿À´Â ÇüÅÂÀÔ´Ï´Ù. ÀÌ·± °ÍÀº ó¸®ÀÇ À§ÀÓÀ̳ª Àüó¸® ÈÄ ½ÇÁ¦ ó¸® °°Àº °æ¿ì¿¡ ¸¹ÀÌ º¸ÀÌ´õ±º¿ä. ¿¹¸¦ µé¾î

ÄÚµå:
// ´Ù¸¥ ¾î¶² °÷¿¡¼­
obj->OnDraw(); // ¶Ç´Â ±×³É obj->Draw()

...

void SomeObject::OnDraw() // ¿ª½Ã ¶Ç´Â ±×³É Draw()
{

  ...// Àüó¸®

  // ½ÇÁ¦ ó¸®
  DoDraw();
}


ÀÌ·± ¿¹¿¡¼­ Do´Â 'ÀÌÁ¦ ÁøÂ¥·Î ÇÏÀÚ~'¶ó´Â °­Á¶·Î ¾²ÀÌ´Â °Í °°½À´Ï´Ù..
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹®
ÀÌÀü ±Û Ç¥½Ã:   
Àá±è[?]    GpgStudy °Ô½ÃÆÇ À妽º -> ÇÁ·Î±×·¡¹Ö ÀÏ¹Ý ½Ã°£´ë: GMT + 9 ½Ã°£(Çѱ¹)
ÆäÀÌÁö 1 Áß 1

ÀÌ ÁÖÁ¦¿¡ ´ëÇÑ Æ®·¢¹é ÁÖ¼Ò: (Âü°í)

±Û ÀÕ±â(½ÃÇèÁß): |

 
°Ç³Ê¶Ù±â:  
»õ·Î¿î ÁÖÁ¦¸¦ ¿Ã¸± ¼ö ¾ø½À´Ï´Ù
´ä±ÛÀ» ¿Ã¸± ¼ö ¾ø½À´Ï´Ù
ÁÖÁ¦¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù
¿Ã¸° ±ÛÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
ÅõÇ¥¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù


Powered by phpBB © 2001, 2005 phpBB Group