16-4-´Ù.µðÆúÆ® Àμö È°¿ë

µðÆúÆ® Àμö´Â ¾ÆÁÖ Æ¯¼öÇÑ °æ¿ì¿¡¸¸ °ªÀÌ ´Þ¶óÁö´Â Àμö¿¡ ´ëÇØ ÁÖ·Î »ç¿ëÇÑ´Ù. Áï À¢¸¸ÇÏ¸é ¹«³­ÇÑ °ªÀ» ¾²µÇ °¡²û ´Ù¸¥ °ªµµ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í ½Í´Ù¸é µðÆúÆ® Àμö·Î ÁöÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î ¿øÀ» ±×¸®´Â ÇÔ¼ö¸¦ °¡Á¤ÇØ º¸¸é ´ÙÀ½°ú °°Àº ¿øÇüÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù.

 

void DrawCircle(int x, int y, int r);

 

Áß½ÉÁ¡ÀÇ ÁÂÇ¥¿Í ¹ÝÁö¸§À» Àμö·Î Àü´ÞÇϴµ¥ ÀÌ °ªµéÀº ¿øÀ» ±×¸®´Â ±âº»ÀûÀÌ°íµµ ¿ÏÀüÇÑ Á¤º¸À̹ǷΠ´õ ÀÌ»óÀÇ Àμö°¡ ÇÊ¿äÄ¡ ¾ÊÀ» °Í °°´Ù. ÇÏÁö¸¸ ¿øÀ» ±×¸®´Âµ¥´Â ÀÌ ¿Ü¿¡µµ ¼±ÀÇ ¸ð¾ç, »ö»ó, ½ÃÀÛ°¢, ³¡°¢ µîÀÇ Ãß°¡ÀûÀÎ Á¤º¸µéÀÌ ´õ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. À¢¸¸ÇÏ¸é °ËÁ¤»öÀÇ ½Ç¼±À¸·Î 0~360µµ±îÁö ´ÝÈù ¿øÀ» ±×¸®°ÚÁö¸¸ ±»ÀÌ ´Ù¸¥ »ö»óÀ» ¾²°Å³ª ¿øÁÖÀÇ ÀϺθ¸ ±×¸®°í ½Í´Ù¸é ÀÌ Àμöµé¿¡ µðÆúÆ® °ªÀ» ÁÖ¸é µÈ´Ù.

 

void DrawCircle(int x, int y, int r,int l=1,COLORREF c=RGB(0,0,0),int s=0,int e=360);

 

¿ø¸¸ ±×¸± ¶§´Â µðÆúÆ® Àμö¸¦ »ý·«ÇÏ°í ¿©ÀüÈ÷ DrawCircle(100,100,30)À¸·Î °£´ÜÇÏ°Ô È£ÃâÇÒ ¼ö À־ ÁÁ°í ¼±ÀÇ ¸ð¾çÀ̳ª »ö»óÀ» ¹Ù²Ù°í ½ÍÀ¸¸é µðÆúÆ® Àμö ´ë½Å ¿øÇÏ´Â °ªÀ» Àü´ÞÇÒ ¼ö ÀÖÀ¸¹Ç·Î È°¿ë¼ºµµ ³ôÀº ÆíÀÌ´Ù. ¸¸¾à ÀÌ ÇÔ¼öÀÇ Àμö¿¡ µðÆúÆ®°ªÀ» ÁÖÁö ¾ÊÀ¸¸é ¸Å¹ø ¿øÀ» ±×¸± ¶§¸¶´Ù ½Ç¼±, °ËÁ¤»ö, 0~360µµ±îÁö¸¦ ÁöÁ¤ÇØ¾ß ÇϹǷΠȣÃâÇϱ⠹ø°Å·Î¿ÍÁú °ÍÀÌ´Ù.

¾Æ´Ï¸é ¾Æ¿¹ DrawCircle, DrawCircleColor, DrawCirclePart °°ÀÌ ÃëÇÏ´Â ÀμöÀÇ Á¾·ù¿¡ µû¶ó ÇÔ¼ö¸¦ °¢°¢ ¸¸µé ¼öµµ ÀÖ´Ù. ÀÌ·¸°Ô µÇ¸é ¿øÇÏ´Â ±â´Éº°·Î ÇÔ¼ö¸¦ °ñ¶ó¼­ »ç¿ëÇØ¾ß ÇϹǷΠ¿ª½Ã ¹ø°Å·Ó´Ù. µðÆúÆ® Àμö´Â ¸Å¹ø ¶È°°Àº °ªÀ» ¹Ýº¹ÀûÀ¸·Î ÁÖÁö ¾ÊÀ¸¸é¼­µµ ÇÊ¿äÇÒ ¶§¸¸ ¿øÇÏ´Â Àμö¸¦ ¸í½ÃÇÏ¿© ÇÑ ÇÔ¼ö·Î ¿©·¯ °¡Áö µ¿ÀÛÀ» °¡´ÉÇÏ°Ô ÇØ ÁØ´Ù. ´Ù¾çÇÑ ¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï Ç쵂 Àμö°¡ ³Ê¹« ¸¹À¸¸é È£ÃâÇϱ⠹ø°Å·Î¿ì¹Ç·Î º¯È­°¡ ¸¹Áö ¾ÊÀº ¿É¼ÇÀº µÚÂÊÀ¸·Î À̵¿½ÃŲ ÈÄ ±âº»°ªÀ» °³¹ßÀÚ°¡ ¹Ì¸® Á¦°øÇÏ´Â °ÍÀÌ´Ù.

ÇÁ·ÎÁ§Æ® À¯Áö/º¸¼ö Ãø¸é¿¡¼­µµ µðÆúÆ® Àμö´Â È°¿ë¼ºÀÌ ³ô´Ù. óÀ½ºÎÅÍ ¿ä±¸ »çÇ×À» Á¤È®ÇÏ°Ô ÆľÇÇϱ⠾î·Æ±â ¶§¹®¿¡ ÇÁ·ÎÁ§Æ® Áß°£¿¡ ÇÔ¼öÀÇ ¿øÇüÀÌ ¹Ù²î´Â °æ¿ì°¡ ¸¹Àºµ¥ ÀÌ·² ¶§ µðÆúÆ® Àμö´Â ÁÁÀº ÇØ°áÃ¥ÀÌ µÈ´Ù. °ÔÀÓ ÇÁ·ÎÁ§Æ®¿¡¼­ Àû ij¸¯Å͸¦ Ãâ·ÂÇÏ´Â ´ÙÀ½°ú °°Àº ÇÔ¼ö¸¦ »ç¿ëÇÏ°í ÀÖ´Ù°í ÇØ º¸ÀÚ. ¿øÇü¿¡ ±â·ÏµÇ¾î ÀÖ´Â Àμö¸¦ º¸´Ù½ÃÇÇ (x,y) À§Ä¡¿¡ Enemy(Á»ºñ, µÎ²¨ºñ, ¹ì, ¾Ç¾î µîÀÇ ³ª»Û ³à¼®µé)¸¦ Ãâ·ÂÇÏ´Â °£´ÜÇÑ ±â´ÉÀÇ ÇÔ¼öÀÌ´Ù.

 

void OutEnemy(int x, int y, int Enemy);

 

ÀÌ ÇÔ¼ö¸¦ Àß ½á¸Ô°í ÀÖ´Â Áß¿¡ »õ·Î Ãß°¡µÈ Àû ij¸¯ÅÍ À¯·ÉÀ» À§ÇØ Åõ¸í 󸮸¦ ÇÒ ÇÊ¿ä°¡ »ý°å´Ù°í ÇÏÀÚ. ±âÁ¸ÀÇ ÀûµéÀº Åõ¸íÇÏ°Ô Ã³¸®ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ÀÌ ÇÔ¼ö´Â ÀÏ´Ü ¿ø·¡ ±â´ÉÀ» À¯ÁöÇϸ鼭 Åõ¸í 󸮸¦ ÇÒ ¼ö ÀÖ¾î¾ß Çϴµ¥ ±×·¯ÀÚ¸é Åõ¸í 󸮸¦ ÇÒ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ Çϳª ´õ ¸¸µé°Å³ª ¾Æ´Ï¸é ÀÌ ÇÔ¼ö¿¡ BOOL bTrans Àμö¸¦ Ãß°¡Çؼ­ Åõ¸í 󸮸¦ ÇÒ ¼ö ÀÖµµ·Ï È®ÀåÇØ¾ß ÇÑ´Ù.

º°µµÀÇ ÇÔ¼ö¸¦ Çϳª ´õ ¸¸µç´Ù¸é ºñ½ÁÇÑ Äڵ尡 Áߺ¹µÇ¾î¼­ °ü¸® ºÎ´ãÀÌ Áõ°¡ÇÒ °ÍÀÌ°í bTrans Àμö¸¦ Ãß°¡ÇÏ¿© ±âÁ¸ ÇÔ¼ö¸¦ È®ÀåÇϸé ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¸ðµç ºÎºÐÀ» ´Ù ¶â¾î °íÃÄ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù. ÆÀ ÇÁ·ÎÁ§Æ®¶ó¸é ÀÌ ÇÔ¼ö¸¦ ´Ù¸¥ °³¹ßÀÚµµ »ç¿ëÇÏ°í ÀÖÀ» °ÍÀ̹ǷΠÆÀ ³»ÀÇ ¸ðµç È£ÃâºÎ¸¦ ´Ù °íÃÄ¾ß Çϴµ¥ ÀÌ´Â º¸Åë ÀÏÀÌ ¾Æ´Ï´Ù. ÇÑ ¹ø Á¤µµ´Â °¡´ÉÇÏ´Ù ÇÏ´õ¶óµµ ¼öÁ¤ÇÒ ¶§¸¶´Ù ¸Å¹ø ÆÀ ³»ÀÇ ¸ðµç ¼Ò½º¸¦ °íÄ¡´Â °ÍÀº Çö½ÇÀûÀ¸·Î ¾î·Æ´Ù. ±×·¡¼­ µðÆúÆ® Àμö ±â´ÉÀÌ µµÀԵDZâ Àü¿¡´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇß¾ú´Ù.

 

void OutEnemy2(int x, int y, int Enemy, BOOL bTrans)

{

     ¿ø·¡ OutEnemy¿¡ ÀÖ´ø ÄÚµå + Åõ¸í ó¸® ±â´É

}

void OutEnemy(int x, int y, int Enemy)

{

     OutEnemy2(x,y,Enemy,FALSE);

}

 

Åõ¸í ó¸® ±â´ÉÀ» °¡Áö´Â º°µµÀÇ ÇÔ¼ö¸¦ »õ·Î ¸¸µé°í ±âÁ¸ ÇÔ¼ö°¡ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇ쵂 Åõ¸í ó¸® Àμö´Â Ç×»ó FALSE·Î ÁØ´Ù. ÀÌ·¸°Ô ÇÏ¸é ±âÁ¸ÀÇ OutEnemy¸¦ È£ÃâÇÏ´Â ÇÔ¼öµéÀº Äڵ带 ¼öÁ¤ÇÏÁö ¾Ê°íµµ ºÒÅõ¸í Ãâ·ÂÀ» °è¼Ó ÇÒ ¼ö ÀÖ°í »õ·Î¿î ij¸¯ÅÍ´Â OutEnemy2¸¦ È£ÃâÇÏ¸é µÈ´Ù. ±×·¯³ª ij¸¯Åͺ°·Î Ãâ·Â ÇÔ¼ö°¡ ´Þ¶óÁ®¼­ ÀÏ°ü¼ºÀÌ °á¿©µÇ´Â ¹®Á¦°¡ ¿©ÀüÈ÷ ³²´Â´Ù. µðÆúÆ® Àμö¸¦ »ç¿ëÇϸé ÀÌ ¹®Á¦¸¦ ¾ÆÁÖ ±ò²ûÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù. OutEnemy ÇÔ¼ö¿¡ bTrans Àμö¸¦ Ãß°¡Ç쵂 ÀÌ Àμö¿¡ ´ëÇØ FALSE ±âº»°ªÀ¸·Î ÁöÁ¤ÇÏ¸é µÈ´Ù.

 

void OutEnemy(int x, int y, int Enemy, BOOL bTrans=FALSE);

 

ÀÌ·¸°Ô °íÄ¡¸é ±âÁ¸ ÄÚµå´Â bTrans°¡ FALSE·Î ÁöÁ¤µÇ¹Ç·Î È£ÃâºÎ¸¦ °íÄ¡Áö ¾Ê¾Æµµ µÇ¸ç Åõ¸í 󸮰¡ ÇÊ¿äÇÒ ¶§¸¸ bTrans¸¦ TRUE·Î ÁÙ ¼ö ÀÖ´Ù. »õ·Î ÇÔ¼ö¸¦ ¸¸µé ÇÊ¿äµµ ¾ø°í µðÆúÆ® Àμö Çϳª¸¦ Ãß°¡ÇÔÀ¸·Î½á ±âÁ¸ Äڵ带 ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö À־ ¿©·¯ ¸ð·Î ÁÁ´Ù. ÇÔ¼öÀÇ ÀÎÅÍÆäÀ̽º¸¦ À¯ÁöÇϸ鼭 ÀÌ¹Ì »ç¿ëÇÏ°í ÀÖ´Â ÇÔ¼öÀÇ ±â´É Áß ÀϺθ¦ È®ÀåÇÏ°íÀÚ ÇÒ ¶§ µðÆúÆ® Àμö´Â ¾ÆÁÖ ÁÁÀº ¹æ¹ýÀ» Á¦°øÇÑ´Ù.