#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define STD_HANDLE GetStdHandle(STD_OUTPUT_HANDLE)
void gotoxy(int x, int y)
{
COORD Cur= {(SHORT)x, (SHORT) y};
SetConsoleCursorPosition(STD_HANDLE, Cur);
}
void main()
{
int x = 0; // x좌표
int direction = 1; // 방향. 1이면 오른쪽, -1이면 왼쪽
while(1)
{
while(!kbhit()) // 키보드가 입력되지 않는 한
{
_sleep(500); // 0.5초 쉼
gotoxy(x, 10); // 현재 자리에 있는
putchar(' '); // 점을 없애기 위해 공백 출력
x = x + direction; // x좌표 이동
if(x == 80) x = 0; // 만약에 80이면 한바퀴 돌았으므로 0으로
else if(x == 0) x = 79; // 0이면 왼쪽으로 한바퀴 돌았으므로 오른쪽 끝 79로
gotoxy(x, 10); // 이동한 좌표로
putchar('.'); // 점 출력
}
int key = getch(); // 키보드 입력
if(key == 0) // 특수키이면
{
key = getch(); // 입력받은 것중 나머지
}
if(key == 0x4b) // 왼쪽 커서이면
direction = -1;
else if(key == 0x4d) // 오른쪽 커서이면
direction = 1;
}
}