방향키 한번만 눌러도 계속 그 방향으로 진행하는법?
모람
질문 제목 : 질문 내용 :typedef struct
{
int x, y;
}item;
typedef struct
{
int len;
int x, y;
}snake;
int end_check(snake* snake)
{
int i;
if (snake[0].x == 0 || snake[0].x == 30 || snake[0].y == 0 || snake[0].y == 20)
return 0;
for (i = snake-len; i 0; i--)
{
if (snake[0].x == snake[i].x && snake[0].y == snake[i].y)
return 0;
}
return 1;
}
void main() // 방향키 아스키값 224
{
srand((unsigned)time(null));
snake snake[100];
item item;
int run=1,c,i;
draw_map();
draw_item(&item);
draw_firstuser(snake);
while (run)
{
run = end_check(snake);
check_eat(snake, &item);
if (_kbhit()) // 키보드 입력받으면
{
c = _getch();
if (c == 224)
{
for (i = snake-len; i 0; i--)
{
snake[i] = snake[i-1];
}
c = _getch();
switch (c)
{
case 72:
(snake[0].y)--;
break;
case 80:
(snake[0].y)++;
break;
case 75:
(snake[0].x)--;
break;
case 77:
(snake[0].x)++;
break;
}
}
for (i = 0; i = snake-len; i++)
{
if (i == 0)
draw_char(snake[i].x, snake[i].y, ⊙);
else if (i == snake-len)
draw_char(snake[i].x, snake[i].y, );
else
draw_char(snake[i].x, snake[i].y, □);
}
}
}
}이 상태에서 방향키를 한번 누르면 다른 방향키를 입력받을때까지 같은 방향으로계속 움직이게하려면 어떻게 해야하나요??
사이트에 저랑 비슷한 질문글들 읽어보고 비슷하게 수정해봐도 전혀 동작이 되지 않네요 제가 잘못한건지 모르겠지만요.
어떻게 수정해야할까요??