이 소스...
지우개
움직일때마가 뒤에있는걸 없애야 하거든요질문 요약 :질문 내용 : 지금코딩한 소스입니다.
#include stdio.h
#include conio.h
#include stdlib.h
#include windows.h
int k=1;
void CurrentXY(int x, int y)
{
COORD Location;
Location.X = x;
Location.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Location);
}
void Timing(int time) //시간초 다운
{
DWORD thisTickCount;
static DWORD lastTickCount =0;
DWORD delay = time;
// 클럭 틱을 얻어온다.
thisTickCount = GetTickCount();
while(1)
{
// 클력 틱의 횟수를 비교한다.
if((thisTickCount - lastTickCount) delay)
{
// 정해진 회수의 틱 카운트이면 초기화 한다.
lastTickCount = thisTickCount;
return;
}
thisTickCount = GetTickCount();
}
}
void Moving(int x, int y)
{
int X[10], Y[10];
int i;
for(i=0; ik; i++)
{
if(k==10)
k=9;
X[i]=x;
Y[i]=y;
CurrentXY(X[i], Y[i]);
printf(□);
}
k++;
Timing(100);
}
void main()
{
int x=0, y=0;
CurrentXY(0, 0);
printf(□);
while(1)
{
if(GetAsyncKeyState(VK_UP))
{
y-=1;
Moving(x, y);
}
else if(GetAsyncKeyState(VK_DOWN))
{
y+=1;
Moving(x, y);
}
else if(GetAsyncKeyState(VK_LEFT))
{
x-=2;
Moving(x, y);
}
else if(GetAsyncKeyState(VK_RIGHT))
{
x+=2;
Moving(x, y);
}
}
}이 소스 해보시면 알겠지만 움직일때마다 한칸씩 □가 출력되는거거든요..
근대 언제는 1칸이 되더만 몇개 수정했다고 2개로 출력되네요..여기서 질문..
제가 처음에 1개로 시작해서 한칸 오른쪽or아래쪽으로 움직이면 총 2개로 늘어나고
다음에 움직이면 3개.. 다음엔 4개... 쭉 가서 10개가되면 맨 뒤에거가 사라지게 만들려는데요..
총 10개로만 움직이게 만드는 중입니다.
어떻게 고쳐야 하나요..?
-
해님꽃
아 이거 VC++에서 돌린거라.... 다른 프로그램으로는 안해서...
-
초롱꽃
error LNK2019: __imp__GetAsyncKeyState@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
저는 이게 뜨면서 링크에러가 나네요.