14-4-´Ù.°ÔÀÓÆÇ ¸¸µé±â

ÀÌ °ÔÀÓÀÇ ¸ñÀûÀº ¼ýÀÚ¸¦ 16°³ÀÇ Ä­¿¡ ¸¶±¸ÀâÀÌ·Î ¼û°Ü ³õ°í "³ª ¾îµðÀÖ°Ô? ã¾ÆºÁ¶ó!"ÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼­ »ç¿ëÀÚµéÀÌ µµÀúÈ÷ ¿¹ÃøÇÒ ¼ö ¾ø´Â °÷¿¡(±×·¡ºÁ¾ß 16°³ Áß ÇϳªÁö¸¸) ¼ýÀÚ¸¦ ¼û°Ü¾ß ÇÑ´Ù. ¸Å¹ø °°Àº °÷¿¡ ¼û¾î Àִٰųª ÀÏÁ¤ÇÑ ±ÔÄ¢ÀÌ ÀÖ´Ù¸é °ÔÀÓÀÇ Àç¹Ì°¡ ¾øÀ» °ÍÀÌ´Ù. °ÔÀÓ ¿î¿µ¿¡ ÇÊ¿äÇÑ Àü¿ªº¯¼öµéÀ» ÃʱâÈ­ÇÏ°í °ÔÀÓÆÇÀ» ¸¸µå´Â ÀÛ¾÷Àº InitGame ÇÔ¼ö°¡ ÇÑ´Ù.

¸ÕÀú Àü¿ªº¯¼öµéÀ» ÃʱâÈ­Çϴµ¥ nx, ny´Â 0À¸·Î ÃʱâÈ­ÇÏ¿© ÃÖÃÊ Ä¿¼­°¡ Á»ó´Ü¿¡ ³õÀ̵µ·Ï ÇÑ´Ù. °ÔÀÓÀ» ½ÃÀÛÇÒ ½ÃÁ¡À̹ǷΠ½Ãµµ ȸ¼öÀÎ count´Â 0À¸·Î ÃʱâÈ­Çß´Ù. ±×¸®°í arCell ¹è¿­À» ÃʱâÈ­Çϴµ¥ ¸ÕÀú memset ÇÔ¼ö·Î ¹è¿­ Àüü¸¦ 0À¸·Î ÃʱâÈ­ÇÏ¿© ¸ðµç Ä­ÀÇ NumÀº ÀÏ´Ü 0À¸·Î, St´Â HIDDENÀ¸·Î ¸¸µç´Ù. ÀÌÁ¦ ¸· °ÔÀÓÀ» ½ÃÀÛÇÏ´Â »óÅÂÀ̹ǷΠÇϳªµµ µéŰÁö ¾ÊÀº »óźÎÅÍ ½ÃÀÛÇÏ´Â °ÍÀÌ´Ù.

´ÙÀ½À¸·Î ·çÇÁ¸¦ µ¹¸ç ¹è¿­ÀÇ Num ¸â¹ö¿¡ ¼ýÀÚµéÀ» ¼û±â´Âµ¥ ÀÌ ·çÇÁ´Â ±¸Á¶°¡ Á» ƯÀÌÇÏ´Ù. °¢ Ä­¿¡ ¸¶±¸ÀâÀÌ·Î ¼ýÀÚµéÀ» ¼û°Ü¾ß ÇϹǷΠ¾Æ¸¶ ´ÙÀ½°ú °°Àº Äڵ带 »ý°¢ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌÁß ·çÇÁ¸¦ µ¹¸é¼­ °¢ Ä­¿¡ 1~8 »çÀÌÀÇ ³­¼ö¸¦ Áý¾î ³Ö´Â °ÍÀÌ´Ù.

 

for (i=0;i<4;i++)

     for (j=0;j<4;j++)

          arCell[i][j].Num=random(8)+1;

 

±×·¯³ª ÀÌ ÄÚµå´Â ¿ÇÁö ¾Ê´Ù. ¿Ö³ÄÇÏ¸é ¹è¿­ÀÇ ¸ðµç Ä­¿¡ ÀÓÀÇÀÇ ¼ýÀÚ¸¦ ³Ö´Â °ÍÀÌ ¾Æ´Ï¶ó 1~8 »çÀÌÀÇ ¼ýÀÚ¸¦ ÀÓÀÇÀÇ Ä­¿¡ µÎ °³¾¿ ½ÖÀ¸·Î ³Ö¾î¾ß Çϱ⠶§¹®ÀÌ´Ù. ³­¼ö·Î ¼±ÅõǾî¾ß ÇÒ °ÍÀº ¼ýÀÚ°¡ ¾Æ´Ï¶ó Ä­ ¹øÈ£ÀÌ´Ù. À§ ÄÚµå¿Í °°ÀÌ ÇÏ¸é °¢ Ä­¿¡ µé¾î°¡´Â ¼ýÀÚ´Â ³­¼ö°¡ µÇ±â´Â ÇÏÁö¸¸ °°Àº ¼ýÀÚ°¡ ¿©·¯ ¹ø Áߺ¹µÉ °¡´É¼ºÀÌ ÀÖ´Ù. ÀÌ °ÔÀÓÀÌ ¿øÇÏ´Â °ÔÀÓÆÇÀº 1~8±îÁöÀÇ ¼ýÀÚ¸¦ Á¤È®ÇÏ°Ô µÎ ¹ø¾¿ ÀÓÀÇÀÇ Ä­¿¡ ³Ö´Â °ÍÀÌ´Ù. ±×·¡¼­ ½ÇÁ¦ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ µÇ¾î ÀÖ´Ù.

 

     for (i=1;i<=8;i++) {

          for (j=0;j<2;j++) {

              do {

                   x=random(4);

                   y=random(4);

              } while (arCell[x][y].Num != 0);

              arCell[x][y].Num=i;

          }

     }

 

1~8±îÁö ·çÇÁ¸¦ µ¹¸ç °¢ ¼ýÀڵ鿡 ´ëÇØ µÎ ¹ø¾¿ ÀÓÀÇÀÇ Ä­À» ã¾Æ ´ëÀÔÇÑ´Ù. ¸¸¾à ³­¼ö·Î °í¸¥ ÀÓÀÇÀÇ Ä­ÀÌ ÀÌ¹Ì ´Ù¸¥ ¼ýÀÚ¿¡ ÀÇÇØ Á¡·ÉµÇ¾î ÀÖÀ¸¸é ºóÄ­À» ãÀ» ¶§±îÁö ÀÌ °úÁ¤À» ¹Ýº¹ÇÑ´Ù. NumÀÌ 0ÀÌ ¾Æ´Ñ Ä­Àº ÀÌ¹Ì ¼ýÀÚ°¡ ¹èÄ¡µÈ Ä­À̸ç ÀÌ Á¶°Ç ÆÇ´ÜÀ» Á¤È®ÇÏ°Ô Çϱâ À§ÇØ ¾Õ¿¡¼­ memsetÀ¸·Î ¸ðµç NumÀ» 0À¸·Î ÃʱâÈ­ÇÏ¿© ºñ¿î °ÍÀÌ´Ù. ÀÌ ·çÇÁ¿¡ ÀÇÇØ arCell ¹è¿­¿¡´Â ´ÙÀ½°ú °°ÀÌ 1~8±îÁöÀÇ ¹øÈ£°¡ µÎ ¹ø¾¿ ¾ÆÁÖ ¿¹»Ú°Ô ¹èÄ¡µÈ´Ù.

ÀÌ ¿¹Á¦¿¡¼­ »ç¿ëÇÑ ·çÇÁ ¿Ü¿¡µµ 8½ÖÀÇ ¼ýÀÚ¸¦ ¼û±â´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖ´Ù. °¢ Ä­¿¡ ´ëÇØ ³­¼ö¸¦ ¸ÕÀú ¼±ÅÃÇϰí ÀÌ ³­¼ö°¡ µÎ ¹ø ´Ù »ç¿ëÇÑ °ÍÀÎÁö¸¦ Á¡°ËÇÏ´Â ½ÄÀ¸·Î ÇØµµ ¿øÇÏ´Â ¸ñÀûÀ» ´Þ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

Àü¿ªº¯¼ö¸¦ ÃʱâÈ­ÇÏ°í °ÔÀÓÆÇÀ» ¸¸µç ÈÄ DrawScreen ÇÔ¼ö¸¦ È£ÃâÇ쵂 bHint Àμö¸¦ TRUE·Î ÁÖ¾î ¸ðµç ¼ýÀÚ¸¦ ´Ù º¸À̵µ·Ï ÇÑ´Ù. ±×¸®°í 2Ãʰ£ ½ÇÇàÀ» Àá½Ã ÁßÁöÇϴµ¥ 2ÃÊ µ¿¾È Á¤´äÀ» º¸¿© ÁÙÅ×´Ï ½ÇÄÆ º¸¶ó´Â ¶æÀÌ´Ù. »ç¿ëÀÚ´Â 2ÃÊ µ¿¾È ¼ýÀÚµéÀÌ ¾îµð ¼û¾î ÀÖ´ÂÁö Àì½Î°Ô º¸°í ´ëÃæÀÇ ¹èÄ¡¸¦ ±â¾ïÇØ ³ö¾ß ÇÑ´Ù. 2Ãʰ¡ Áö³ª¸é clrscr ÇÔ¼ö¸¦ È£ÃâÇÏ¿© È­¸éÀ» ¸ðµÎ Áö¿ö ¹ö¸®°í DrawScreen ÇÔ¼ö¸¦ È£ÃâÇ쵂 À̹ø¿¡´Â bHint¸¦ FALSE·Î ÁÖ¾î ¼ýÀÚ¸¦ ¼û±ä ä·Î ´Ù½Ã ±×¸°´Ù. µåµð¾î °ÔÀÓÀÌ ½ÃÀ۵Ǵ °ÍÀÌ´Ù.

°ÔÀÓÆÇÀ» ÃʱâÈ­ÇÏ´Â Äڵ尡 InitGameÀ̶ó´Â ÇÔ¼ö·Î ºÐ¸®µÇ¾î Àִµ¥ ÃʱâÈ­ ½ÃÁ¡ÀÌ °ÔÀÓÀ» ½ÃÀÛÇÒ ¶§, ´Ù ¸ÂÃá ÈÄ ´Ù½Ã ½ÃÀÛÇÒ ¶§ µÎ ¹øÀ̱⠶§¹®ÀÌ´Ù. µÎ ¹ø ÀÌ»ó ¹Ýº¹µÇ´Â µ¿ÀÛÀº ÇÔ¼ö·Î ºÐ¸®ÇØ¾ß ¹Ýº¹À» ¹æÁöÇÒ ¼ö ÀÖÀ¸¸ç ¼öÁ¤ÇÒ ¶§µµ ÇÑ °÷¸¸ ¼öÁ¤ÇÏ¸é µÇ¹Ç·Î À¯Áö, º¸¼ö¼ºÀÌ ÁÁ¾ÆÁø´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÃʱâÈ­°¡ ÇÊ¿äÇÒ ¶§´Â ¾ðÁ¦µçÁö ÀÌ ÇÔ¼ö¸¸ È£ÃâÇÏ¸é µÇ¹Ç·Î mainÇÔ¼öÀÇ ºÎ´ãÀÌ °¨¼ÒµÇ¾î mainÀÌ °ÔÀÓ ¿î¿µ¿¡ Á» ´õ Ä¡ÁßÇÒ ¼ö ÀÖ´Ù.