배열맵에 잇는 네모가 움직이질 안아요 ㅠ
클라우드
질문 제목 :
배열맵에 잇는 네모가 움직이질 안아요 ㅠ
이해가 안가네욤
질문 내용 :
#includestdio.h
#includewindows.h
#includestdlib.h
#includeconio.h
#includetime.h
#includeprocess.h
#define left 75
#define right 77
#define up 72
#define down 80
#define enter 13
char block[10][20]={
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
};
void main()
{
int my_x=1,my_y=1,i,j;
char moving;
for(i=0; isizeof(block)/sizeof(block[0]); i++)
{
for(j=0; jsizeof(block[0]); j++)
{
switch(block[i][j])
{
case 2: printf(□); break;
case 1: printf(■); break;
case 0: printf( ); break;
}
}
printf(\n);
}
block[my_x][my_y]=1;
while(1)
{
moving=getch();
switch(moving)
{
case left:
if(block[my_x][my_y-1] != 2)
{
block[my_x][my_y] = 0;
block[my_x][--my_y] = 1;
}
break;
case right:
if(block[my_x][my_y+1] != 2)
{
block[my_x][my_y] = 0;
block[my_x][++my_y] = 1;
}
break;
case up:
if(block[my_x-1][my_y] != 2)
{
block[my_x][my_y] = 0;
block[--my_x][my_y] = 1;
}
break;
case down:
if(block[my_x+1][my_y] != 2)
{
block[my_x][my_y] = 0;
block[++my_x][my_y] = 1;
}
break;
}
}
}