c 언어 배열 질문입니다!
조회수 480회
include
include
include
char a[10][10] = { "##### # ", " # # ", " # # ", " # ## ", " # # ", " # # ", " # # ", "# # ", " "};
void shift_left(int k) { int i = 0, j = 0, xx = 0;
for (i = 0; i < 9; i++) {
for (j = k; j < 9; j++) {
gotoxy(xx, i);
if (a[i][j] == '#') printf("■");
else printf(" ");
xx += 2;
}
for (j = 0; j < k; j++) {
gotoxy(xx, i);
if (a[i][j] == '#') printf("■");
else printf(" ");
xx += 2;
}
xx = 0;
}
if (++k > 9) k = 0;
delay(50);
}
void shift_right(int k) { int i = 0, j = 0, xx = 0;
for (i = 0; i < 9; i++) {
for (j = 9 - k; j < 9; j++) {
gotoxy(xx, i);
if (a[i][j] == '#') printf("■");
else printf(" ");
xx += 2;
}
for (j = 0; j < 9 - k; j++) {
gotoxy(xx, i);
if (a[i][j] == '#') printf("■");
else printf(" ");
xx += 2;
}
xx = 0;
}
delay(50);
}
void shift_up(int m) { int i = 0, j = 0, yy = 0;
for (j = 0; j < 9; j++) {
for (i = m; i < 9; i++) {
gotoxy(j,yy);
if (a[i][j] == '#') printf("■");
else printf(" ");
yy += 2;
}
for (i = 0; i < m; i++) {
gotoxy(j,yy);
if (a[i][j] == '#') printf("■");
else printf(" ");
yy += 2;
}
yy = 0;
}
if (++m > 9) m = 0;
delay(50);
} void shift_down(int m) { int i = 0, j = 0, yy = 0;
for (j = 0; j < 9; j++) {
for (i = 9 - m; i < 9; i++) {
gotoxy(i, yy);
if (a[i][j] == '#') printf("■");
else printf(" ");
yy += 2;
}
for (i = 0; i < 9 - m; i++) {
gotoxy(i, yy);
if (a[i][j] == '#') printf("■");
else printf(" ");
yy += 2;
}
yy = 0;
}
if (++m > 9) m = 0;
delay(50);
} int main() { int ch = 0, direction = 0, k = 0, m = 0;
clrscr();
shift_left(k);
shift_right(k);
shift_up(m);
shift_down(m);
do {
if (_kbhit()) {
switch (ch = getch())
{
case 75: direction = 0; break;
case 77: direction = 1; break;
case 72: direction = 2; break;
case 80: direction = 3; break;
case 27: return 0;
}
}
if (direction == 0) shift_left(k);
if (direction == 1) shift_right(k);
if (direction == 2) shift_up(m);
if (direction == 3) shift_down(m);
if (++k > 9) k = 0;
if (++m > 9) m = 0;
} while (ch != 27);
} 가 모양이 방향키에 따라 좌우상하로 움직이게 하는건데 좌우는 잘 움직이는데 위 아래는 정말 안돼서 질문 드립니다. 위 아래 함수 만든거에서 어떤게 문제인지 알려주시면 감사하겠습니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력