화살표키로 사각형의 크기를 조절하는 코딩이요
들찬길
질문 제목 : 화살표 키로 사각형의 크기를 조절하는 프로그램을 작성하시오.화살표로 - - 위 아래로 하면 사각형크기가 조절하는 프로그램 소스입니다.
void draw_slide(int x, int y); 이부분만 채우면되는데 도저히 어떻게 채워야 될지 짐작이 안갑니다.
void draw_horizontal_slide(int x, int y, int length, char *s)
{
int real_length=length/2;
gotoxy(1,y);
draw_rectangle(real_length+1, 1);
gotoxy(x+2, y+1);
printf(%s, s);
gotoxy(real_length*2+2, y-1);
printf(%2d, x);
}
void draw_vertical_slide(int x, int y, int length, char *s)
{
gotoxy(x, 1);
draw_rectangle(1, length);
gotoxy(x+2, y+1);
printf(%s, s);
gotoxy(x+6, length+1);
printf(%2d, y);
}위에 소스를 응용하라하는데감이 안잡힙니다. 부탁드립니다.
질문 내용 : #include stdio.h
#include stdlib.h
#include conio.h
#include windows.h
void draw_slide(int x, int y);
void gotoxy(int x,int y);
void draw_rectangle(int c, int r);
void move_arrow_key(char key, int*x1, int *y1);
int main() {
char key;
int x = 1, y = 1;
do{
system(cls);
gotoxy(1, 1);
draw_rectangle(x,y);
key = getch();
move_arrow_key(key, &x, &y);
}while (key != 27);
return 0;
}
void draw_slide(int x, int y)
{
}
void gotoxy(int x,int y)
{
coord pos={x-1,y-1};
setconsolecursorposition(getstdhandle(std_output_handle),pos);
}
void move_arrow_key(char key,int *x1,int *y1,int x_b,int y_b)
{
switch(key)
{
case 72:
*y1=*y1-1;
if(*y11)
*y1=1;
break;
case 80:
*y1=*y1+1;
if(*y1y_b)
*y1=y_b;
break;
default:
return;
}
}
void draw_rectangle(int c,int r)
{
int i,j;
unsigned char a=0xa6;
unsigned char b[7];
for(i=1;i7;i++)
b[i]=0xa0+i;
printf(%c%c,a,b[3]);
for(i=0;ic;i++)
printf(%c%c,a,b[1]);
printf(%c%c,a,b[4]);
printf(\n);
for(i=0;ir;i++)
{
&printf(%c%c,a,b[2]);
for(j=0;jc;j++)
printf( );
printf(%c%c,a,b[2]);
printf(\n);
}
printf(%c%c,a,b[6]);
for(i=0;ic;i++)
printf(%c%c,a,b[1]);
printf(%c%c,a,b[5]);
printf(\n);
}
-
머즌일
kbhit()을 이용하는 예제를 보시는게 좋겠어요.