[C++]°­ÁÂ(22)<--º®µ¹°ÔÀÓ ¸¸µé±â





/* ÇÁ·Î±×·¥ÀÌ ½ÃÀ۵Ǵ ºÎºÐ */
void main()
{
int key,quitflag;       /* Å°º¸µå¿¡¼­ ¹Þ¾ÆµéÀÎ °ª, Å»Ãâ º¯¼ö */
nowdelay=1500;
detectgraph(&gd,&gm);
randomize();
textattr(0x07);
clrscr();
gotoxy(20,10);
cout << "input preload brick numer(0~9) : ";
gotoxy(25,12);
cout << "Press Enter for None ";
preload=getche();       // ¹Ì¸® ½×¾Æ³õÀ» º®µ¹ ¼ö ÀԷ¹ÞÀ½
if (isdigit(preload)) preload-='0';  // ¼ýÀÚ¸¸ ÀÔ·Â
 else preload=0;       // ÀÔ·Â error½Ã preload´Â ¹«È¿
clrscr();
_setcursortype(_NOCURSOR);
printstage();           /* È­¸é ±×¸² */
brick BR;               /* º®µ¹ °´Ã¼¸¦ ¸¸µê */
SCORE.load();           /* Á¡¼ö ÀоîµéÀÓ */
brick nextBR;           /* ´ÙÀ½ º®µ¹ °´Ã¼ */
brick nextBR2;
nextBR.make();          /* ´ÙÀ½ º®µ¹À» ¹Ì¸® ¸¸µé¾î µÒ */
nextBR2=nextBR;
for (;;){               /* ù¹ø° ·çÇÁÀÇ ½ÃÀÛ. Àüü °ÔÀÓ ·çÇÁ */
nextBR2.outbrick(0);
if (nowdelay>500) nowdelay-=4;
BR=nextBR;          // ÀÌÀü¿¡ ¸¸µé¾î µÎ¾ú´ø º®µ¹À»  Àоî¿Â´Ù.
nextBR.make();                 // ´ÙÀ½ º®µ¹ ¸¸µê
nextBR2=nextBR;                // ´ÙÀ½ º®µ¹À» È­¸é ¿·¿¡ Ãâ·ÂÇØÁÜ
nextBR2.Setx(67);
nextBR2.Sety(18);
nextBR2.outbrick(1);
BR.outbrick(1);
if (BR.whataround((BR.Getx()-30)/2,BR.Gety()-2)!=0)
/* °ÔÀÓ ³¡ ó¸®.*/
  gameover();
for (;;){ /* µÎ ¹ø° ·çÇÁÀÇ ½ÃÀÛ. ÇϳªÀÇ º®µ¹ÀÌ ¶³¾îÁö´Â ·çÇÁ */
       if (BR.downmove()==0) break;   /* ÇÑ Ä­ ¾Æ·¡·Î ¶³¾î¶ß¸² */
       quitflag=0;
   for (de=0;de<nowdelay;de++){ /* delay·çÇÁdelayÁß¿¡µµÅ°°ªÀº*/
        key=inkey();            /* °è¼Ó ÀоîµéÀδÙ. */
        switch (key){      /* ÀÔ·ÂµÈ Å°°ª¿¡ µû¸¥ ´ÙÁß ¼±Åà   */
       case LEFT:BR.leftmove();break;
       case UP:BR.rotate();break;
       case RIGHT:BR.rightmove();break;
       case DOWN: while (BR.downmove());
                quitflag=1;de=nowdelay;
                break;
       case SPACE:if (BR.downmove()==0)
       // space-ÇÑ Ä­ °­Á¦·Î ¶³¾î¶ß¸²
                {
                quitflag=1;
                de=nowdelay;
                }
                break;
       case ESC:gameover();
       }
       }                                   /*  ¸¸µé±â À§ÇØ Å»Ãâ */
       if (quitflag) break;/* down Å°¸¦ ´­·¶À» ¶§ »õ·Î¿î º®µ¹À»*/
} /* µÎ ¹ø° ·çÇÁÀÇ ³¡ */
} /* ù¹ø° ·çÇÁÀÇ ³¡  */
}
/* È­¸é ±¸¼º ¹× tet ¹è¿­ÀÇ ÃʱâÈ­ */
void printstage()
{
int i,j;
textline(1,31,1,56,25);
textline(0,62,15,75,20);
for (i=0;i<25;i++) for(j=0;j<14;j++)        
/* ¹è¿­ Á¤ÀÇ º®ÀÎ ºÎºÐÀº 2 */
 if (i==23 || j==0 || j==13) tet[j][i]=2; /* ºó °ø°£Àº 0 */
else tet[j][i]=0;
for (;preload;preload--)  // ¹Ì¸® ½×¾Æ³õÀº º®µ¹À» ¹è¿­¿¡ ±â·Ï
 for(i=0;i<10;i++)
   tet[random(12)+1][23-preload]=1;
for (i=0;i<23;i++)       // È­¸é¿¡ º®µ¹À» ±×¸²
 for (j=1;j<13;j++)
   {
   gotoxy(j*2+30,i+2);
   if (tet[j][i]==0)
     {
     putch(' ');
     putch(' ');
     }
   else
     {
     putch(178);
     putch(178);
     }
   }
textcolor(15);
gotoxy(3,5);cprintf("Sang Hyung i Tetris");  /* ¹®ÀÚ¿­ Ãâ·Â   */
gotoxy(13,6);cprintf("Ver 2.0");
gotoxy(3,8);printf("This program made for");
gotoxy(3,9);printf("Programming education");
gotoxy(3,10);printf("1994 Nyun 7 Wol 14 il");
textcolor(2);
gotoxy(3,15);cprintf("now score :");
gotoxy(5,16);printf("%d jum",score);
gotoxy(3,20);printf("Kyung Hee Daehakkyo");
gotoxy(3,21);printf("Computer Yunguhoi");
gotoxy(3,22);cprintf("COM.COM");
gotoxy(63,5);printf("use arrow key");
gotoxy(63,7);printf("left:move left");
gotoxy(63,8);printf("right:move right");
gotoxy(63,9);printf("up:turn");
gotoxy(63,10);printf("down:all down");
gotoxy(63,11);printf("space:down one");
gotoxy(63,12);printf("ESC:quit");
textcolor(14);                              /*ÄÞÄÞ ±ÛÀÚ*/
gotoxy(63,22);cprintf("\xb8 \xc1 \xdc . \xb8 \xc1 \xdc");
}
/* ´ë±â¾øÀÌ Å°°ª ÀÐÀ½ */
int inkey(void)
{
if (kbhit()) return getch();
return 0;
}
// text»ó¿¡¼­ ÁÙÀ» ±ß´Â ÇÔ¼ö, ¼±¹®ÀÚ¸¦ »ç¿ëÇÑ´Ù.
void textline(int type,int x1,int y1,int x2,int y2)
{
int i;
char jool[][6]={
              {0xc4,0xb3,0xda,0xbf,0xd9,0xc0},
              {0xcd,0xba,0xc9,0xbb,0xbc,0xc8},
              {0xcd,0xb3,0xd5,0xb8,0xbe,0xd4},
              {0xc4,0xba,0xd6,0xb7,0xbd,0xd3}};
for (i=x1;i<x2;i++)
 {
 gotoxy(i,y1);
 putch(jool[type][0]);
 gotoxy(i,y2);
 putch(jool[type][0]);
 }
for (i=y1;i<y2;i++)
 {
 gotoxy(x1,i);
 putch(jool[type][1]);
 gotoxy(x2,i);
 putch(jool[type][1]);
 }
gotoxy(x1,y1);putch(jool[type][2]);
gotoxy(x2,y1);putch(jool[type][3]);
gotoxy(x2,y2);putch(jool[type][4]);
gotoxy(x1,y2);putch(jool[type][5]);
}
// °ÔÀÓÀÇ ³¡ ó¸®
void gameover()
{
  gotoxy(35,15);
  printf("G A M E  O V E R");
  delay(500);
  _setcursortype(_NORMALCURSOR);
  textattr(0x07);
  clrscr();
  if (SCORE.soonwi(score)<=10)  // Á¡¼ö°¡ ¼øÀ§¿¡ µé¾úÀ¸¸é
    {                           // À̸§À» ÀÔ·Â¹Þ¾Æ data ÆÄÀÏ
    gotoxy(30,10);              // À» °»½ÅÇÑ´Ù.
    cout << "Best player";
    gotoxy(25,12);
    cout << "input your name : ";
    gets(name);
    SCORE.insert(score,name);
    SCORE.save();
    }
  SCORE.out();                  // Á¡¼ö Ãâ·Â
  printf("Press any key");
  getch();
  exit(0);                      // program Á¾·á
}
                   <<shtet2.cpp>>

shtet1.c¿¡ ºñÇØ ±¸Á¶»ó º°·Î ¹Ù²ï °ÍÀÌ ¾øÀ¸¸ç »ç¿ëÇÏ´ø ¾Ù°Å¸®µëÀ» ±×´ë·Î
¼öÁ¤¾øÀÌ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ ¸î °¡Áö ±â´ÉÀÌ ´õ Ãß°¡µÇ¾î ÀÖ´Â °ÍÀÌ º¸ÀδÙ.


À̾ °è¼ÓµË´Ï´Ù. ==============>>>>>>>


--------------------------------------------------------------------------------