14-1-¶ó.Ä«¿îÆ®¸¦ ¾²´Â ¹æ¹ý

¿©·¯ °³ÀÇ ¹°Ã¼°¡ µ¿½Ã¿¡ ¿òÁ÷ÀÌ´Â Matrix ¿¹Á¦ÀÇ ÇÙ½ÉÀº for ·çÇÁ¿¡ ÀÇÇÑ ½Ã°£ ºÐÇÒ, nFrame°ú nStay¿¡ ÀÇÇÑ ¹°Ã¼ÀÇ À̵¿ ÁÖ±â ÅëÁ¦ ¹æ¹ýÀÌ´Ù. óÀ½¿¡´Â Á¶±Ý ¾î·Á¿ö º¸ÀÌÁö¸¸ ÇÑ ¹ø ÆÐÅÏÀ» ÀÍÈ÷¸é ºñ½ÁÇÑ À¯ÇüÀÇ ¹®Á¦¸¦ Ç® ¶§ ³í¸®¸¦ Àç»ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾ÕÀÇ ¿¹Á¦´Â ¹°Ã¼º°·Î Áֱ⸦ Ä«¿îÆÃÇϱâ À§ÇØ °¢°¢ÀÌ nStay¶ó´Â ¸â¹ö¸¦ À¯ÁöÇϴµ¥ ÀÌ ¹æ¹ý ´ë½Å Àüü Ä«¿îÆ®¸¦ Çϳª¸¸ À¯ÁöÇϰí ÀÌ Ä«¿îÆ®·Î ¹°Ã¼ÀÇ À̵¿ ¼Óµµ¸¦ Á¶Á¤ÇÒ ¼öµµ ÀÖ´Ù. ¿¹Á¦¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØ º¸ÀÚ.

 

struct Signal

{

     BOOL exist;                // ½ÅÈ£ÀÇ Á¸Àç ¿©ºÎ

     char ch;                     // Ãâ·ÂÇÒ ¹®ÀÚ

     int x,y;                            // ÇöÀç ÁÂÇ¥

     int distance;                // À̵¿ÇÒ °Å¸®

     int nFrame;                 // ¼Óµµ

// int nStay;                 // ¼Óµµ¿¡ ´ëÇÑ Ä«¿îÆ®

};

 

void main()

{

     int i;

     int ch;

     int freq=15;

     int frame=200;

    int count;

 

     clrscr();

     gotoxy(0,23);

     printf("¸ÅÆ®¸¯½º Èä³»³»±â. »óÇÏ:¼Óµµ Áõ°¨, Á¿ì:ºóµµ Áõ°¨, ESC:Á¾·á");

     randomize();

    for (count=0;;count++) {

          ....

          // »õ·Î¿î ½ÅÈ£ »ý¼º

          if (random(freq) == 0) {

              for (i=0;i<MAX;i++) {

                   if (S[i].exist == FALSE) {

                        S[i].exist=TRUE;

                        S[i].ch=random('Z'-'A'+1)+'A';

                        S[i].x=random(80);

                        S[i].y=0;

                        S[i].distance=random(14)+9;

                   S[i].nFrame=random(15)+5;

                        break;

                   }

              }

          }

 

          // ÁֱⰡ ´Ù µÈ ½ÅÈ£ À̵¿ ¹× Á¦°Å ó¸®

          for (i=0;i<MAX;i++) {

              if (S[i].exist == FALSE)

                   continue;

           if (count % S[i].nFrame == 0) {

                   gotoxy(S[i].x,S[i].y);putch(' ');

                   ....

 

Signal ±¸Á¶Ã¼ÀÇ nStay ¸â¹ö´Â »èÁ¦Çϰí nFrame¸¸ ³²±ä´Ù. ÀÌ·¸°Ô µÇ¸é ½ÅÈ£µéÀº ÀÚ½ÅÀÇ À̵¿ Áֱ⸦ ±â¾ï¸¸ ÇÒ »ÓÀÌ¸ç ½º½º·Î Ä«¿îÆ®¸¦ À¯ÁöÇÏÁö´Â ¾Ê´Â´Ù. ´ë½Å Àüü ¸ÞÀÎ ·çÇÁ°¡ ¸Å ÇÁ·¹ÀÓ¸¶´Ù 1¾¿ Áõ°¡ÇÏ´Â count¶ó´Â º¯¼ö¸¦ °¡Áö°í ÀÌ º¯¼ö°ª°ú nFrameÀÇ °ü°è¿¡¼­ ½ÅÈ£ÀÇ À̵¿ ½ÃÁ¡À» °áÁ¤ÇÒ ¼ö ÀÖ´Ù. count°¡ nFrameÀ¸·Î ³ª´©¾î ¶³¾îÁú ¶§ ÀÌ ¹°Ã¼¸¦ ÇÑ ¹ø¾¿ ¿òÁ÷ÀÌ¸é °á±¹ °¢ ½ÅÈ£´Â ¸Å nFrame¸¶´Ù ¿òÁ÷ÀÌ°Ô µÉ °ÍÀÌ´Ù.

°¡·É nFrameÀÌ 5ÀÎ ½ÅÈ£´Â count°¡ 0, 5, 10, 15ÀÏ ¶§ ÇÑ ¹ø¾¿ À̵¿µÉ °ÍÀ̸ç nFrameÀÌ 8ÀÎ ½ÅÈ£´Â 0, 8, 16, 24ÀÏ ¶§ ÇÑ ¹ø¾¿ À̵¿ÇÏ°Ô µÈ´Ù. Áï, Àü¿ª Ä«¿îÆ®´Â Çϳª¸¸ ¾²°í °¢ ½ÅÈ£´Â ÀÚ½ÅÀÌ ÀÌ Ä«¿îÆ®ÀÇ ¸Å ¸î ¹øÂ°¸¶´Ù À̵¿ÇÒ °ÍÀΰ¡¸¸ ±â¾ïÇÏ´Â ¹æ½ÄÀÌ¸ç ¸ðµç ½ÅÈ£°¡ °³º°ÀûÀ¸·Î Ä«¿îÆ®¸¦ °¡Áö´Â ¹æ¹ý¿¡ ºñÇØ Á¶±Ý ´õ °£´ÜÇÑ´Ù. ÀÌ ¿¹Á¦ÀÇ °æ¿ì´Â ÀÌ·¸°Ô ¹Ù²ãµµ ºñ½ÁÇÑ µ¿ÀÛÀ» ÇÑ´Ù.

±×·¯³ª ÀÚ¼¼È÷ »ý°¢ÇØ º¸¸é Á¶±Ý ´Ù¸¥ ¸éÀÌ Àִµ¥ °¢ ½ÅÈ£°¡ Àü¿ª Ä«¿îÆ®¿¡ ÀÇÁ¸ÇϹǷΠÃÖÃÊ »ý¼ºµÈ ½ÅÈ£°¡ óÀ½ ¿òÁ÷ÀÏ ½ÃÁ¡ÀÌ ¼øÀüÈ÷ ¿î¿¡ µû¶ó °áÁ¤µÈ´Ù´Â ¹®Á¦°¡ ÀÖ´Ù. nFrameÀÌ 24ÀÎ ½ÅÈ£°¡ »ý¼ºµÇ´Â ½ÃÁ¡ÀÇ count°¡ 239¿´´Ù¸é ¹Ù·Î ´ÙÀ½ ÇÁ·¹ÀÓ¿¡¼­ ÀÌ ½ÅÈ£°¡ óÀ½ ¿òÁ÷ÀÌ°Ô µÉ °ÍÀÌ´Ù. ¹°·Ð ÀÌÈĺÎÅÍ´Â ¸Å 24ÇÁ·¹ÀÓ¸¶´Ù ¿òÁ÷À̰ÚÁö¸¸ ù ÁֱⰡ ´Ù¼Ò ºÎÁ¤È®ÇØÁø´Ù. ¶ÇÇÑ °³º° ½ÅÈ£ÀÇ nStay¸¦ Á¶ÀÛÇÔÀ¸·Î½á ÀϽÃÀûÀ¸·Î ¼Óµµ¸¦ Áõ°¨½ÃŰ´Â ±â¹ýÀ» ¾µ ¼ö ¾øÀ» °ÍÀÌ´Ù.

ÀÌ µÎ ¹æ¹ý ¿Ü¿¡µµ º¹¼ö °³ÀÇ ¹°Ã¼¸¦ µ¿½Ã¿¡ ¿òÁ÷ÀÌ´Â ¿©·¯ °¡Áö ¹æ¹ýµéÀ» »ý°¢ÇØ º¼ ¼ö Àִµ¥ ¾î¶² ¹æ¹ýÀ» ¾µ °ÍÀΰ¡´Â ¿òÁ÷ÀÓÀÇ Á¤¹Ð¼º°ú °³º° ¹°Ã¼ÀÇ ÅëÁ¦ Çʿ伺 µî¿¡ µû¶ó °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿¹Á¦ÀÇ °æ¿ì´Â Àüü Ä«¿îÆ®¸¦ ¾²´Â ¹æ¹ýÀÌ º° ¹®Á¦°¡ ¾øÁö¸¸ ¹°Ã¼º°·Î Ä«¿îÆ®¸¦ µû·Î À¯ÁöÇÏ´Â ¹æ¹ýÀÌ Á» ´õ ÀϹÝÀûÀÌ°í ºÎ¸± ¼ö ÀÖ´Â ±â±³µµ ¸¹Àº ¼ÀÀÌ´Ù.