#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
int px=10 ;
int py=10 ;
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void map(int r1, int r2)
{
for (int x=0; x<31; x++){
for (int y=0; y<31; y++){
gotoxy(x, y);
if (x==0||y==0||x==30||y==30){
printf (".");
}
if(x==px&&y==py){
printf("*"); //뱀출력
}
printf (" ");
}
}
}
int main()
{
char c;
int a=1;
srand(time(NULL)); //랜덤 시드 설정 (최초 한 번만!)
int random = rand()%29+1;
int random2=rand()%29+1;
for (;;){
Sleep(500);
if (c == -32) { // -32로 입력되면
c = getch(); // 새로 입력값을 판별하여 상하좌우 출력
switch (c) {
case LEFT:
a=1;
break;
case RIGHT:
a=2;
break;
case UP:
a=3;
break;
case DOWN:
a=4;
break;
}
switch (a){
case 1:
px--;
break;
case 2:
px++;
break;
case 3:
py--;
break;
case 4:
py++;
break;
}
}
map(random, random2);
}
}
/*
1.한칸 가고 뒤에 삭제 기다리고 가고 삭제 기다림(반복)
2.방향키 입력 받음=>방향바꿈 이후 1번처럼
3.@를 먹으면 한번 뒤에 삭제 하지 않음
4.벽//몸에 닿으면 종료
*/