#include <stdio.h>

#include <conio.h>

#include <stdlib.h>


void PrintScreen(int, int);

void Move(int*, int);


int main(void)

{

int x = 0, y = 0;

int input;


while (1)

{

if (_kbhit())

{

input = _getch();


switch (input)

{

case 'W' :

case 'w':

Move(&y, -1);

break;

case 'S':

case 's':

Move(&y, +1);

break;

case 'A':

case 'a':

Move(&x, -1);

break;

case 'D':

case 'd':

Move(&x, 1);

break;

}


PrintScreen(x, y);


}

}

}


void PrintScreen(int x, int y)

{

int i = 0;

//화면 정리

system("cls");

//y축 위치 띄우기

for (i = 0; i <= y; i++)

printf("\n");

//x축 위치 띄우기

for (i = 0; i <= x; i++)

printf(" ");


putchar('@');

printf("(%d, %d)", x, y); //좌표 체크

}


void Move(int *now_position, int range)

{

if (range < 0 && *now_position <= 0)

{

return;

}

*now_position += range;

}



이동 예제.exe



상당히 조잡하지만, 여하튼 대충 이동 예제를 꾸며보았습니다.


conio.h에 clrscr() 이였나? 여튼 그 함수가 출력창 전부다 싹 지워주는 기능이였던 것으로 기억하는데.


쓰려고 보니까 안되네요.