2010년 4월 17일 토요일

박스가 커졌다 작아지고 이름이 출력대는 프로그램~

#include
#include
#include
#include

void gotoxy(int x, int y);
void draw(int,int,int,int);
void red();

void main(void)
{
int sx=30,ex=50,sy=8,ey=16; //중앙에 박스 그리기
int i;

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

system("cls");
draw(sx-i,ex+i,sy-i,ey+i); //시작 좌표 x,y가 1감소하고 끝좌표 x, y가 1증가 댈때 박스크기가그만큼 커진다.

Sleep(200); //박스가 그려지는 시간 지연
}

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

system("cls");
draw((sx-5)+i,(ex+5)-i,(sy-5)+i,(ey+5)-i); //크기가 5만큼 커져있던 박스를 작게 보이게하기위해
//시작 좌표 x,y가 1증가하고 끝좌표 x, y가 1감소 댈때 박스크기가그만큼 작아진다.
Sleep(200); //박스가 그려지는 시간 지연
}


gotoxy(38,12);
red();
printf("레인이");

gotoxy(1,24); //출력물을 보기좋게 하기 위해 커서위치를 맨아래로 내림

}


void draw(int sx,int ex,int sy,int ey)
{
int i,j,k;

gotoxy(sx, sy);
for(i=1 ; i <= ex-sx+1; i++){ //사각형 윗줄 시작부터 끝까지
printf("*");
} //윗줄 출력

for(k=0 ; k <= ey-sy; k++){
gotoxy(sx,k+sy);
printf("*");
gotoxy(ex,k+sy);
printf("*");
} //왼쪽오른쪽 줄 출력
gotoxy(sx, ey);
for(j=1 ; j <= ex-sx+1; j++){
printf("*");
} //아랫줄 출력

printf("\n");

}

void gotoxy(int x, int y)
{
COORD Pos = {x - 1, y - 1};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}

void red()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
}

댓글 없음:

댓글 쓰기