1606, 20/81 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   whqkdnf000
   http://hack-ing.ohpy.com
   C·Î ¸¸µç »ç°Ý°ÔÀÓ(ÁÖ¼®´Þ¾Æ³ùÀ½)

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=916 [º¹»ç]


#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
/*
* < »ç°Ý°ÔÀÓ >
*
* ȣȯ¼º
* ÀÌ ÇÁ·Î±×·¥Àº Borland C++ 5.5 ¿¡¼­ ÄÄÆÄÀÏÇÏ°í ½ÃÇèµÇ¾ú½À´Ï´Ù.
*
* °ÔÀÓ¼³¸í
* »ç°ÝÀåÀº °¢°¢ Çϳª¾¿ÀÇ È­»ìÀ» Æ÷ÇÔÇϰí ÀÖ´Â ¾ÆÈ©°³ÀÇ ·¹ÀÎÀ¸·Î ¸¸µé¾îÁ® ÀÖ½À´Ï´Ù.
* ÇÁ·Î±×·¥ÀÌ ½ÃÀÛµÇ¸é ·¹ÀÎÀÇ ¿À¸¥ÂÊ¿¡ ÇѰ³ÀÇ Å¸°Ù(X)ÀÌ ³ªÅ¸³³´Ï´Ù.
* ´ç½ÅÀÇ °úÁ¦´Â È­»ìµé ÁßÀÇ Çϳª·Î Ÿ°ÙÀ» ¸ÂÃß´Â °Í ÀÔ´Ï´Ù.
* È­»ìÀ» ½î·Á¸é ·¹ÀÎ ¹øÈ£¸¦ ´©¸£¸é µË´Ï´Ù.
* 25°³ÀÇ Å¸°ÙÀÌ ³ªÅ¸³­ ÈÄ¿¡, °ÔÀÓÀº ³¡³ª°í, ÃÖÁ¾Á¡¼ö°¡ Ãâ·ÂµË´Ï´Ù.
*
* ³­À̵µ º¯°æÇϱâ
* ³­À̵µ¸¦ º¯°æÇÏ·Á¸é ShootArrow(int)ÇÔ¼öÀÇ µÎ¹øÂ° for·çÇÁ¸¦ º¯°æÇؼ­ È­»ìÀÇ ¼Óµµ¸¦ º¯°æÇÏ¸é µË´Ï´Ù.
* È­»ìÀÌ ÃµÃµÈ÷ ³ª°¥¼ö·Ï ¸ÂÃß±â±îÁöÀÇ ½Ã°£À» ¼ÒºñÇϹǷΠ³­À̵µ´Â ³ô¾ÆÁý´Ï´Ù.
* PlayGame(void)ÇÔ¼öÀÇ TIME_LIMIT°ªÀ» 2ÃÊ·Î ¸ÂÃß¾î ³õ¾Ò±â ¶§¹®¿¡
* È­»ìÀÌ ¹ß»çµÇ´Âµ¥ 2Ãʰ¡ °É¸°´Ù¸é °ÔÀÓÀÌ ¾ÈµÇÁÒ. ¿ª½Ã Á¦Çѽ𣵵 ¸¶À½´ë·Î ¼öÁ¤Çϼ¼¿ä.
*/

#define true 1
#define false 0
typedef int bool;

void ShowScore(int);
int PlayGame(void);
void EraseTarget(int);
void ShootArrow(int);
int ShowTarget(void);
void DrawScreen(void);

int main(void) {
        int score;
        srand((unsigned) time(NULL));
        DrawScreen();
        score = PlayGame();
        ShowScore(score);
        
        return 0;
}

void DrawScreen(void) {
        int x;
        clrscr();
        gotoxy(20, 11);
        printf("°ÔÀÓÀ» ½ÃÀÛÇÏ·Á¸é ¾Æ¹«Å°³ª ´©¸£¼¼¿ä.");
        getch();
        clrscr();
        
        for (x = 1; x <= 10; x++) {      // ·çÇÁ´Â Çѹø¿¡ ÇÑ °³ÀÇ ÇìÀκ®°ú ÇѰ³ÀÇ È­»ìÀ» ±×¸°´Ù.
                gotoxy(1, x * 2 + 2);
                printf("-----------------------------------");
                if (x < 10) {
                        gotoxy(1, x * 2 + 3);
                        printf("%d%s", x, "  >>-->");
                }
        }
}

void EraseTarget(int target_position) {
        gotoxy(60, target_position * 2 + 3);
        printf(" ");
}

int PlayGame(void) {
        int score = 0;
        int target_position;
        long start_time;
        bool shot_fired;
        int num;          // °ªÀ¸·Î ÀúÀåÇÏ´Â ¼ýÀÚŰ
        const int TIME_LIMIT = 2;   // ÇÑ Å¸°Ù´ç Á¦Çѽð£ 2ÃÊ
        
        int x;
        for (x = 1; x <= 20; x++) {         // ÀÌ ·çÇÁ´Â 25°³ÀÇ Å¸°ÙÀ» ºÎ¿©ÇÑ´Ù.
                target_position = ShowTarget();
                start_time =  time(NULL);      // ¿©±â¿¡¼­ ½ÃÀ۽ð£ÀÌ ÀúÀåµÈ´Ù.
                shot_fired = false;
                
                // Á¦Çѽð£°ú ³²Àº È­»ì°³¼ö¸¦ ¾Ë·ÁÁÜ
                gotoxy(44, 2);
                printf("%s%d%s", "³²Àº È­»ì: ", 21 - x, " ");
                gotoxy(10, 2);
                printf("%s%d%s", "ÇÑ Å¸°Ù ´ç ½Ã°£Á¦ÇÑ ", TIME_LIMIT, "ÃÊ");
                
                do {            // ¼±¼ö°¡ »ç°ÝÀ» ÇÒ ¶§±îÁö Ű ÀÔ·ÂÀ» ±â´Ù¸°´Ù.
                        num = getch() - '0';
                        if (num >= 1 && num <= 9) {
                                ShootArrow(num);
                                shot_fired = true;
                        }
                } while (!shot_fired);  
                
                // ½Ã°£ ¾È¿¡(2ÃÊ) Ÿ°ÙÀ» ¸ÂÃß¾úÀ» ¶§ ½ÇÇàµÈ´Ù.
                if ((time(NULL) < start_time + TIME_LIMIT) && num == target_position) {  
                        putchar('\a');
                        ++score;
                }
                EraseTarget(target_position);
        }
        return score;
}

void ShootArrow(int a) {   // ÆÄ¶ó¹ÌÅÍ a´Â ¹ß»çÇÑ È­»ìÀÇ ¹øÈ£
        int x;
        long delay;
        for (x = 4; x <= 60; x++) {
                gotoxy(x, a * 2 + 3);     // ·çÇÁÀÇ ¸Å ȸ¸¶´Ù È­»ìÀ» 1¹®ÀÚ¾¿ ¿À¸¥ÂÊÀ¸·Î ¿òÁ÷ÀδÙ.
                printf(">>-->");
                for (delay = 0; delay < 3999999; delay++)  // ÀÌ ÄÚµå·Î È­»ìÀÇ ¼ÓµµÁ¶ÀýÀ» ÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼º´É¿¡ µû¶ó ´Ù¸£´Ù.
                        continue;
                gotoxy(x, a * 2 + 3);
                printf("     ");
        }
        gotoxy(4, a * 2 + 3);
        printf(">>-->");
}

void ShowScore(int score) {
        gotoxy(60, 20);
        printf("-----------------");
        gotoxy(60, 21);
        printf("%s%d", " Your score is ", score);
        gotoxy(60, 22);
        printf("-----------------");
}

int ShowTarget(void) {
        int p = rand() % 9 + 1;         // ÀÌ ³­¼ö´Â Ÿ°ÙÀÌ ³ªÅ¸³¯ ·¹ÀιøÈ£ÀÌ´Ù. 1 ~ 9
        gotoxy(60, p * 2 + 3);
        printf("X");
        return p;
}

  Hit : 17834     Date : 2008/01/15 07:29



    
aloe ¿ì¿Í!! ´ë´ÜÇϽôÙ.. À̰ÅÀúµµ Ç÷¹ÀÌÇØº¸°í½ÍÀºµ¥ ¾î¶±ÇØÇϳª¿ä? 2008/01/15  
whqkdnf000 ÄÄÆÄÀÏÇØ¼­ ÇϽôø°¡, ÄÄÆÄÀÏ·¯ ¾øÀ¸¸é ÇØÄð ftz¿¡¼­ ÄÄÆÄÀÏÇØ¼­ ¾²½Ã¸é ‰Ï´Ï´Ù^-. 2008/01/16  
k1rha ÄÄÆÄÀÏÈÄ ½ÇÇàÇÏ·Á´Ï ¿¡·¯°¡ 3°³¶ß³×¿ä 2008/01/16  
whqkdnf000 ¾Æ¸¶ Çì´õÆÄÀÏÀÌ ¾ø¾î¼­ ±×·±°Í°°Àºµ¥¿ä. º¼·£µåC¿¡¼­´Â ÄÄÆÄÀÏÀ߉ϴϴÙ., 2008/01/16  
qkreoghks00 À©µµ¿ì¿ë gcc¿¡¼­´Â ¾ÈµÇ³ª¿ä? (¾ÆÁ÷¾ÈÇØºÃÀ½) 2008/01/23  
lvson1004 ºñÁê¾ó½ºÆ©µð¿À·Î µ¹·Áº¸´Ï ¾ÈµÇ³×¿ä ¤Ð¤Ð 2008/02/22  
marin5318 Åͺ¸¿¡¼­ ¾ÈµÅ³×¿ä.......¤Ð¤Ð 2008/03/24  
flsnrtm º¼·£µåC·Î ¾î¶»°Ô ÄÄÆÄÀÏÇØ¿ä? 2008/04/18  
Min-Q ÄÄÆÄÀÏ ¿¡·¯³ª¸é gotoxyÇÔ¼ö¸¦ ¸¸µé¾îÁÖ½Ã¸é µÇ¿ä 2008/04/29
Min-Q ÇÔ¼ö º»Ã¼´Â ³×À̹ö¿¡¼­ gotoxy °Ë»öÇÏ½Ã¸é ¸¹ÀÌ ³ª¿Â´ä´Ï´Ù. 2008/04/29
ahdudqh ¾î¸Ó¸Ó ¤» ¯À̽ó׿© 2008/08/22  
lit02 À©µµ¿ìgcc¾ÈµÅ 2009/05/24  
Àܵ¥½º ¤§¤§ 2024/03/06  
  C·Î ¸¸µç »ç°Ý°ÔÀÓ(ÁÖ¼®´Þ¾Æ³ùÀ½)[13]     whqkdnf000
01/15 17833
1225   c¾ð¾î[1]     ¹é¹ÎÁØÃµÀç
08/31 5811
1224   c¾ð¾î[1]     ¹é¹ÎÁØÃµÀç
08/31 5778
1223   c¾ð¾î[2]     jyc_joy
01/17 7428
1222   c¾ð¾î 2 switch ±¸¹®     hacs98
06/15 9522
1221   c¾ð¾î Áú¹®[3]     gohuns123
08/24 8741
1220   c¾ð¾î Âü°í ÀÚ·á[9]     khkim504
02/15 9248
1219   c¾ð¾î ÇÁ·Î±×·¡¹Ö Áú¹®ÀÌ¿ä[3]     cyxy33
02/07 6871
1218   C¾ð¾î ÇÔ¼ö ¿ä¾à[5]     qkreoghks00
11/15 13364
1217   c¾ð¾î FOR¹®[1]     phan_tom2
10/01 8075
1216   c¾ð¾î for¹®      hacs98
06/15 13716
1215   C¾ð¾î getch()¹®     tjdans174
05/20 9421
1214   C¾ð¾î if else ¹®ÀÇ ¿¹Á¦ ÀÔ´Ï´Ù.[2]     kordokrip
06/21 7545
1213   C¾ð¾î Æ÷ÀÎÅÍ     phan_tom2
10/01 7983
1212   c¾ð¾î Æ÷ÀÎÅÍ Á¤¸®[3]     gnsehfvlr
05/06 10238
1211   C¾ð¾î °­Á     te04041
11/23 10552
1210   C¾ð¾î °­ÁÂ.     M.K
02/16 6893
1209   C¾ð¾î °­ÀÇ »ó¼ö¿¡ ´ëÇÑ ÀÌÇØ      kordokrip
06/21 6450
1208   C¾ð¾î ±âÃʰ­ÀÇ (¹Ùº¸¿ë)[5]     lsykoh2
02/23 7666
1207   C¾ð¾î ±âº»±¸Á¶[1]     ±«µµjs
07/02 13348
[1]..[11][12][13][14][15][16][17][18][19] 20 ..[81]

Copyright 1999-2025 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org