#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;
}
상당히 조잡하지만, 여하튼 대충 이동 예제를 꾸며보았습니다.
conio.h에 clrscr() 이였나? 여튼 그 함수가 출력창 전부다 싹 지워주는 기능이였던 것으로 기억하는데.
쓰려고 보니까 안되네요.
'프로그래밍 > C' 카테고리의 다른 글
[C] 리눅스 환경에서 컴파일 (0) | 2016.08.09 |
---|---|
[C] 각종 자료형들 크기 알아보기 (0) | 2016.07.08 |
[C] 2차원 이동 예제(측면에서 바라보는 시점) (0) | 2016.07.08 |
[C] 간단한 Up AND Down 게임 (0) | 2016.06.25 |
[C] 숫자 야구 게임 (1) | 2016.06.15 |