gotoxy 질문드립니다..답변좀부탁드려요
뿌닝
#include windows.h
#include stdio.h
#include stdlib.h
void gotoxy(int x, int y)
{
COORD pos={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void gotoxy1(int p, int q)
{
COORD pos={p,q};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
char *man[3] = {
O ,
-|-,
/ \\
};
char *woman[3] = {
t ,
-|-d,
/ \\
};
void print_man( int x, int y )
{
int i;
for ( i = 0; i 3; ++i ) {
gotoxy( x, y+i );
printf( man[i] );
}
}
void delete_man( int x, int y )
{
int i;
for ( i = 0; i 3; ++i ) {
gotoxy( x, y+i );
printf( );
}
}
void print_woman( int p, int q )
{
int a;
for ( a = 0; a 3; ++a ) {
gotoxy1( p, q+a );
printf( woman[a] );
}
}
void delete_woman( int p, int q )
{
int a;
for ( a = 0; a 3; ++a ) {
gotoxy1( p, q+a );
printf( );
}
}
void draw()
{
int r;
for (r = 1; r = 31; ++r){
delete_woman(r-1,13);
print_woman(r,13);
&nbnbsp; print_man(67-r,13);
delete_man(70-r,13);
Sleep(100);
}
}
int main()
{
intr ;
draw();
system(pause);
}
이걸 실행시키면 화면 왼쪽과 오른쪽에서 사람모양의 문자열이 움직이는데요.
제가 지금 코딩한건 사람이 서로 만나기 직전까지만 for문을 돌려서 사람이 마주봤을때 그냥 바로종료됩니다.
제가 코딩하고싶은거는 이것이 계속 자기 갈길을 가다가 문자열이 겹쳐지기전에 자동으로 hi 이런문구를 출력하게하고싶은데요.. 어떻게해야할까요..
-
보물선
void draw()
{
int r;
for (r = 1; r = 31; ++r){
delete_woman(r-1,13);
print_woman(r,13);
print_man(67-r,13);
delete_man(70-r,13);
Sleep(100);
}
printf(\Hi\);
} -
두메꽃
man과 woman이 만났는지 \판단\해서 자동으로 HI를 출력하는 것을 의미하는 것이 아니었군요.
그렇다면 draw()함수가 끝나기 직전에 HI를 출력해보세요. -
아리에스
넵, 근데 수동으로 어느지점까지 문자열이 이동하는걸 원하는게 아니라..문자열이 계속이동하고있다가 두개가 서로 마주치는순간 자동으로 문자가 출력되게하고싶어서용..
-
한길찬
자동으로 하기가 힘들다면 수동으로 하면 되지요.
직접 좌표를 설정해서 HI 문자를 출력해보세요.