1581, 14/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   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 : 16473     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  
1321   [ÀÚÀÛ]¸®´ª½º ¾ÐÃà ¸í·É Á¤¸®.[2]     williamlee
12/29 14470
1320   [ÀÚÀÛ] W's ¾ÏÈ£ÇÐ(Cryptology) - ¿¡´Ï±×¸¶[3]     williamlee
08/06 15002
1319   [ÀÚÀÛ]¹éÆ®·¢ 4 R1, À©7 ¸ÖƼºÎÆà (+ ÇѱÛÈ­+grub¼³Á¤)[4]     williamlee
11/20 13787
1318   [ÀÚÀÛ] W's ¾ÏÈ£ÇÐ(Cryptology) - ¸ð½ººÎÈ£.[8]     williamlee
07/26 10876
1317   [ÀÚÀÛ] W's ¾ÏÈ£ÇÐ(Cryptology) - ½ºÆĸ£Åº ¾ÏÈ£,½ÃÀú(¾ËÆĺªÄ¡È¯)¾ÏÈ£[11]     williamlee
07/28 12895
1316   Win XP ÁßÁö/ÁßÁöÇÏÁö¸»¾Æ¾ßÇÒ ¼­ºñ½º°ü¸®     whqkdnf000
02/06 9167
  C·Î ¸¸µç »ç°Ý°ÔÀÓ(ÁÖ¼®´Þ¾Æ³ùÀ½)[13]     whqkdnf000
01/15 16472
1314   ȨÆäÀÌÁö Ãë¾àÁ¡ Á¡°Ë ¹× Á¶Ä¡¹æ¹ý#1     whqkdnf000
01/01 10658
1313   À©µµ¿ì ¸í·É¾î[12]     whqkdnf000
10/26 13005
1312   °­ÁÂÇϳª. µð·ºÅ丮 ³ëÃâ Ãë¾àÁ¡À» ÀÌ¿ëÇÑ ÇØÅ·[5]     whqkdnf000
09/05 13494
1311   ÀÚ¹Ù½ºÅ©¸³Æ® Àå³­Áú,[13]     whqkdnf000
07/31 9553
1310   ÇØÅ·±â¹ý? (±â¹ßÇÏ´Ù°í ÇؾßÇϳª,¿ô±â´Ù°í ÇؾßÇϳª)[35]     whqkdnf000
07/31 12669
1309   ·¹Áö½ºÆ®¸® ÇغÎ1Æí (°£´ÜÈ÷ ¾Ë¾Æ¾ßÇÒ°Í)     whqkdnf000
05/31 8366
1308   ÇØÄ¿½ºÄð ÅÚ³ÝÁ¢¼Ó ¹Ù·Î°¡±â ¸¸µé±â.[7]     whqkdnf000
02/26 9207
1307   ¸®´ª½º ±âº»¸í·É¾î! (1)[2]     whqkdnf000
05/31 9230
1306   À©µµ¿ìxp°ü¸®ÀÚ ºñ¹Ð¹øÈ£ °£´ÜÈ÷ ÇØÅ·Çϱâ![14]     whqkdnf000
02/26 16548
1305   C¾ð¾î(Áø¹ý)[9]     whqkdnf000
02/25 12489
1304   netcatÀÇÈ°¿ë(3)[1]     whqkdnf000
02/22 9492
1303   netcatÀÇ ¼Ò°³(2)     whqkdnf000
02/22 11255
1302   netcatÀÇ ¼Ò°³(1)[2]     whqkdnf000
02/22 8867
[1]..[11][12][13] 14 [15][16][17][18][19][20]..[80]

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