[C++]°ÁÂ(21)<--Ŭ·¡½º ¹è¿ ¹× Æ÷ÀÎÅÍ
*»ý¼ºÀÚ
Score °´Ã¼°¡ ¸¸µé¾îÁú ¶§ È£ÃâµÇ´Â »ý¼ºÀÚ¿¡¼´Â µ¥ÀÌÅÍ ÆÄÀÏÀÌ ÀÖ´ÂÁö¸¦ º¸
°í ¾øÀ¸¸é Á÷Á¢ ¸¸µé¾îÁØ´Ù. Á¡¼ö°¡ µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ±â·ÏµÇ°í µ¥ÀÌÅÍ ÆÄÀÏÀÇ ³»
¿ëÀ» ±Ù°Å·Î Score °´Ã¼°¡ µ¿ÀÛÇϹǷΠµ¥ÀÌÅÍ ÆÄÀÏÀº Score °´Ã¼°¡ µ¿ÀÛÇϱâ
À§ÇÑ ±âº»ÀûÀÎ ÀüÁ¦ Á¶°ÇÀÌ µÈ´Ù. ±×·¯³ª µ¥ÀÌÅÍ ÆÄÀÏÀÌ Ç×»ó Á¸ÀçÇÑ´Ù°í´Â ÇÒ
¼ö ¾ø´Ù. »ç¿ëÀÚ°¡ °íÀÇµç ½Ç¼öµç ÀÌ ÆÄÀÏÀ» »èÁ¦ÇÒ ¼öµµ ÀÖÀ¸¸ç ¶Ç´Â ½ÇÇà ÆÄ
Àϸ¸ ´Ù¸¥ µð·ºÅ丮¿¡ º¹»ç¸¦ ÇѴٵ簡 ÇÏ´Â °æ¿ì¸¦ °í·ÁÇÏ¸é µ¥ÀÌÅÍ ÆÄÀÏÀÌ
¾ø´Â °æ¿ìµµ »ý°¢ÇÒ ¼ö ÀÖ´Ù. »ý¼ºÀÚ¿¡¼ ÇÏ´Â ÀÏÀº ÀÏÁ¾ÀÇ ¿¡·¯ ó¸®ÀÌ´Ù. Áï,
¹Ýµå½Ã ÀÖ¾î¾ß ÇÒ µ¥ÀÌÅÍ ÆÄÀÏÀÌ °ú¿¬ ÀÖ´ÂÁö¸¦ °Ë»çÇغ¸´Â °ÍÀÌ´Ù. ¸¸¾à ÀÖ´Ù
¸é ¾Æ¹« Àϵµ ÇÏÁö ¾Ê°í ±×´ë·Î ¸®ÅÏÀ» Ç쵂 ¾ø´Ù¸é Á÷Á¢ ¸¸µé¾îÁØ´Ù. Á¡¼ö´Â
¸ðµÎ 100Á¡À¸·Î ÇÏ°í playerÀÇ À̸§Àº ÇÁ·Î±×·¡¸ÓÀÇ À̸§À¸·Î ÇÏ¿© µ¥ÀÌÅÍ ÆÄ
ÀÏÀ» ÃʱâÈÇÏ¿© »ý¼º½ÃŲ´Ù.
»ý¼ºÀÚ¿¡¼ µ¥ÀÌÅÍ ÆÄÀÏÀ» ã´Â ¹æ¹ýÀÌ ´Ù¼Ò µ¶Æ¯Çѵ¥ ½ÇÇà ÆÄÀÏÀ» ãÀº ÈÄ
½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮ÀÇ À̸§À» ±×´ë·Î »ç¿ëÇÏ¿© ±× À§Ä¡¿¡ µ¥ÀÌÅÍ ÆÄÀÏ
À» ã°í »ý¼º½ÃŲ´Ù. µ¥ÀÌÅÍ ÆÄÀÏÀ» µÎ´Â À§Ä¡°¡ ÇöÀçÀÇ µð·ºÅ丮°¡ ¾Æ´Ï°í ½Ç
Çà ÆÄÀÏÀÌ ÀÖ´Â À§Ä¡°¡ µÊÀ¸·Î½á ¿©·¯ °¡Áö ÀÌÁ¡ÀÌ »ý±ä´Ù. ¿ì¼± Á¡¼ö¸¦ º¸°ü
ÇÏ´Â µ¥ÀÌÅÍ ÆÄÀÏÀÌ Çϳª¸¸ ÀÖÀ¸¹Ç·Î Á¡¼ö °ü¸®°¡ ÀÏ°ýÀûÀ̸ç path ÁöÁ¤¿¡ ÀÇ
ÇØ ´Ù¸¥ µð·ºÅ丮¿¡¼ shtet2.exe¸¦ ½ÇÇàÇصµ Á¦´ë·Î µ¥ÀÌÅÍ ÆÄÀÏÀ» ãÀ» ¼ö
ÀÖ´Ù. Score Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öµéÀÇ µ¿ÀÛÀº ´ÙÀ½°ú °°´Ù.
*load
µ¥ÀÌÅÍ ÆÄÀϷκÎÅÍ º¸°üµÇ¾î ÀÖ´Â Á¡¼ö¿Í playerÀÇ À̸§À» Àоî¿Í Score °´Ã¼
ÀÇ scorestruct ±¸Á¶Ã¼¿¡ º¹»çÇÑ´Ù. ÀÌ·¸°Ô º¹»çµÈ Á¤º¸´Â ´Ù¸¥ ¸â¹ö ÇÔ¼ö¿¡
ÀÇÇØ »ç¿ëµÈ´Ù. load ÇÔ¼ö¿¡¼´Â ÆÄÀÏ ÀÔ·ÂÀ» À§ÇØ fstream.h¿¡ Á¤ÀǵǾî ÀÖ´Â
ifstream °´Ã¼¸¦ »ç¿ëÇÑ´Ù. iostreamÀ» »ç¿ëÇÑ ÆÄÀÏ ÀÔÃâ·ÂÀº µÚ¿¡¼ ´Ù·é´Ù.
*save
load¿Í ¹Ý´ë·Î scorestruct¿¡ ÀÖ´Â Á¤º¸¸¦ µ¥ÀÌÅÍ ÆÄÀÏ·Î Ãâ·ÂÇÑ´Ù. °ÔÀÓÀÌ
Çѹø ³¡³ ÈÄ¿¡´Â Á¡¼ö°¡ °»½ÅµÇ¹Ç·Î ³¡³»±â Àü¿¡ °»½ÅµÈ Á¡¼ö¸¦ µ¥ÀÌÅÍ ÆÄÀÏ
·Î Ãâ·ÂÀ» ÇØÁÖ¾î¾ß µ¥ÀÌÅÍ ÆÄÀÏÀÌ Á¤È®ÇÑ Á¡¼ö¸¦ Ç×»ó °¡Áú ¼ö ÀÖ´Ù. ÆÄÀÏ Ãâ
·ÂÀ» À§ÇØ ofstream °´Ã¼¸¦ »ç¿ëÇÏ°í ÀÖ´Ù.
*soonwi
ƯÁ¤ Á¡¼ö°¡ ¸îµîÀÎÁö scorestruct ±¸Á¶Ã¼¸¦ Á¶»çÇؼ °¡·Á³½´Ù. ÀÌ ÇÔ¼ö´Â
Á¡¼ö¸¦ °»½ÅÇÒ °ÍÀΰ¡, °ÔÀÓ Á¾·á ÈÄ »ç¿ëÀڷκÎÅÍ À̸§À» ÀԷ¹ÞÀ» °ÍÀΰ¡,
µî¿¡ ´ëÇÑ Á¶°Ç ÆÇ´Ü¿¡ »ç¿ëµÈ´Ù. 10µî ¾ÈÂÊ¿¡ µé¾ú´Ù¸é Á¡¼ö¸¦ °»½ÅÇØ¾ß ÇÏÁö
¸¸ 10µî ¹ÛÀÇ Á¡¼ö¶ó¸é µ¥ÀÌÅÍ ÆÄÀÏÀ» °»½ÅÇÒ ÇÊ¿äµµ ¾ø°í À̸§À» ÀԷ¹ÞÀ» ÇÊ
¿äµµ ¾ø´Ù.
*insert
»õ·Î ¸¸µé¾îÁø Á¡¼ö¸¦ scorestruct¿¡ »ðÀÔÇÑ´Ù. »ðÀÔÇϱâ Àü¿¡ soonwi ÇÔ¼ö¸¦
ºÒ·¯ °ú¿¬ »ðÀÔÇÒ ¸¸ÇÑ Á¡¼ö°¡ µÇ´ÂÁö¸¦ ¸ÕÀú Á¶»çÇغ¸°í 10µî ¾È¿¡ µé¾î¾ß »ð
ÀÔÇÑ´Ù. ¸¸¾à 10µî ¾ÈÀÇ Á¡¼ö°¡ µÇ¾î ÀÌ Á¡¼ö°¡ scorestruct ±¸Á¶Ã¼¿¡ »ðÀÔµÉ
°æ¿ì´Â ¹Ýµå½Ã ±¸Á¶Ã¼ ³»ÀÇ ÀÌ Á¡¼öº¸´Ù ¸øÇÑ Á¡¼ö´Â ¹Ð·Á³ª¾ß ÇÑ´Ù. ÇÑ Á¡¼ö
°¡ 10µî ¹üÀ§ ¾È¿¡ µé°Ô µÇ¸é Á¦ÀÏ ²ÃÂîÀÎ Á¡¼ö°¡ ¹Ð·Á³ª°Ô µÉ °ÍÀÌ´Ù.
±×·¡¼ »ðÀÔÇÏ´Â ¾Ù°Å¸®µëÀº ¹Ð·Á³ª¾ß ÇÒ Á¡¼ö¸¦ ã¾Æ ±× Á¡¼ö°¡ ±â·ÏµÇ¾î ÀÖ
´ø ÀÚ¸®¿¡ »õ·Î¿î Á¡¼ö¸¦ µ¤¾î¾²´Â °£´ÜÇÑ ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. À̶§ Á¤·Ä¿¡ °üÇØ
¼´Â ÀüÇô °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù. scorestruct´Â »óÀ§ 10µîÀÇ Á¡¼ö¸¦ º¸°üÇϱâ
¸¸ ÇÏ¸é µÇ¸ç ²À Á¡¼ö°¡ ³ôÀº ¼ø¼´ë·Î Á¤·ÄµÇ¾î ÀÖ¾î¾ß ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
¿Ö³ÄÇϸé Á¡¼öÀÇ Á¤·ÄÀº Á¡¼ö¸¦ Ãâ·ÂÇÒ ¶§ Çϵµ·Ï ¼³°è°¡ µÇ¾ú±â ¶§¹®ÀÌ´Ù.
¾îÂ÷ÇÇ Á¡¼ö°¡ Ãâ·ÂµÇ´Â ½ÃÁ¡¿¡¼¸¸ Á¤·ÄµÇ±â¸¸ ÇÏ¸é µÇÁö ³»ºÎÀûÀ¸·Î ¾î¶»°Ô
ÀúÀåµÇ¾î Àִ°¡°¡ Áß¿äÇÑ °ÍÀº ¾Æ´Ï´Ù.
*out
ȸ鿡 Á¡¼ö¸¦ Ãâ·ÂÇÑ´Ù. scorestructÀÇ ³»¿ëÀ» ÀÐ¾î ¼ø¼´ë·Î ȸéÀ¸·Î Ãâ·Â
ÇØÁֱ⸸ Ç쵂 ÀÌ¿ÕÀ̸é Á¡¼ö°¡ ³ôÀº ¼ø¼´ë·Î Á¤·ÄÇؼ º¸¿©ÁÖ´Â °ÍÀÌ ´õ ÁÁ
´Ù. ±×·¡¼ Ãâ·ÂÇϱâ Àü¿¡ scorestruct¿¡ ±â·ÏµÇ¾î ÀÖ´Â Á¡¼öµéÀ» Á¤·ÄÇÑ´Ù.
Á¤·Ä¿¡ »ç¿ëµÈ ¾Ù°Å¸®µëÀº °¡Àå °£´ÜÇÑ, ±×·¡¼ °¡Àå È¿À²ÀÌ ³ª»Û bubble sort
¸¦ »ç¿ëÇÑ´Ù. °Ü¿ì 10°³ÀÇ ÀڷḦ Á¤·ÄÇϴµ¥ µ¢Ä¡ Å« Á¤·Ä ¾Ù°Å¸®µëÀ» ¾²´Â
°Íº¸´Ù´Â ´ëÃæ Á¤·ÄÇÏ´õ¶óµµ ±Ý¹æ ¸¸µé ¼ö ÀÖ´Â °ÍÀÌ ´õ ÁÁ´Ù.
bubble sort°¡ ¾Æ¹«¸® ´À¸®´Ù°í Çصµ ÀÌ °æ¿ì´Â ÀÚ·á°¡ Àû¾î¼ Á¤·ÄÇÏ´Â ½Ã°£
ÀÌ °ÅÀÇ »ç¶÷ÀÌ ´À³¥ ¼ö ¾øÀ» Á¤µµ·Î ºü¸£±â ¶§¹®¿¡ ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ȸé
À¸·Î Ãâ·ÂÇÏ´Â ¹®ÀåÀº ¾ÆÁÖ °£´ÜÇÑ iostream Ãâ·Â¹®ÀÌ´Ù. ´ÙÀ½ ¸®½ºÆ®°¡ ÀÌ ¿¹
Á¦ÀÇ main ÆÄÀÏÀÌ´Ù. Áß¿äÇÑ ÄÚµåÀÇ ´ëºÎºÐÀÌ Å¬·¡½º·Î ³Ñ¾î°¬À¸¹Ç·Î ºñ±³Àû
Å©±â°¡ ÀÛ´Ù.
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* SHTET2.CPP */
/* TEXT»ó¿¡¼ ±¸ÇöµÇ´Â °£´ÜÇÑ TETRIS °ÔÀÓ.±³À°¿ëÀ¸·Î Á¦ÀÛ */
/* ¿ø·¡ C¿ëÀ¸·Î ¸¸µé¾ú´ø shtet1.c¸¦ versionÇÑ °ÍÀÓ */
/* PROGRAMMER:±è »óÇü. 1994.7.14 */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <ctype.h>
#include <graphics.h>
#include "brick.h"
#include "score.h"
int inkey();
void printstage();
void textline(int type,int x1,int y1,int x2,int y2);
void gameover();
#define LEFT 75 /* Å°º¸µåÀÇ ÄÚµå Á¤ÀÇ. ÀÌ·¸°Ô Á¤ÀÇ */
#define RIGHT 77 /* ÇØµÎ¸é ´ÙÀ½¿¡ ¾µ ¶§ Æí¸®ÇÏ´Ù. */
#define UP 72
#define DOWN 80
#define SPACE 32
#define ESC 27
int tet[14][25]; /* °ÔÀÓÆÇ ¹è¿ */
/* °¢ º®µ¹ÀÇ ÆÐÅÏ ¹è¿. ÇÑ º®µ¹´ç 8¹ÙÀÌÆ®¾¿À̸ç ȸÀü
¸ð¾çÀÇ °³¼ö¿¡ µû¶ó */
/* º®µ¹´ç dataÀÇ °³¼ö°¡ ´Ù¸£´Ù. °¢ °ªÀº Áß½ÉÁ¡¿¡¼ÀÇ
»ó´ëÀûÀÎ °Å¸®ÀÌ´Ù. */
/* ȸé ÁÂÇ¥»óÀÇ °ªÀÌ´Ù. */
/* ¸ðµÎ 9°³ÀÇ º®µ¹ÀÌ Á¤ÀǵǾî ÀÖ´Ù. */
int pat[9][32]={
{0,0,2,0,4,0,-2,0,0,0,0,1,0,-1,0,-2,},
{0,0,2,0,0,1,2,1,},
{0,0,-2,0,0,-1,2,-1,0,0,0,1,-2,0,-2,-1,},
{0,0,-2,-1,0,-1,2,0,0,0,-2,0,-2,1,0,-1,},
{0,0,0,-1,2,0,4,0,0,0,-2,0,0,-1,0,-2,0,0,
-2,0,-4,0,0,1,0,0,2,0,0,1,0,2},
{0,0,-2,0,-4,0,0,-1,0,0,-2,0,0,1,0,2,0,0,
0,1,2,0,4,0,0,0,2,0,0,-1,0,-2},
{0,0,-2,0,2,0,0,1,0,0,0,-1,0,1,2,0,0,0,-2,
0,2,0,0,-1,0,0,-2,0,0,-1,0,1},
{0,0,0,0,0,-1,2,0,0,0,0,0,-2,0,0,-1,0,0,
0,0,0,1,-2,0,0,0,0,0,0,1,2,0},
{0,0,0,0,0,0,0,0}
};
int brickpatnum[9]={2,1,2,2,4,4,4,4,1}; /* °¢ º®µ¹ÀÇ ÆÐÅÏ °³¼ö*/
int score=0;
int preload; // ¹Ì¸® ½×¾Æ³õÀ» º®µ¹ÀÇ °³¼ö
int gd,gm;
int de,nowdelay; // ´ÊÃãÀ» ÁÖ±â À§ÇÑ ·çÇÁÀÇ Á¦¾î º¯¼ö
Score SCORE;
char name[128];
ÀÌ¾î¼ °è¼ÓµË´Ï´Ù. ==============>>>>>>>
--------------------------------------------------------------------------------