테트리스를 만들면 뒷배경은 그대로인데 블럭들은 계속계속 움직이잖아요..

그러면 키입력을 받을때마다 system(\"cls\"); 를 이용해서 계속 계속 새로 출력해주는건가요?

아니면 다른 방법이 있나요??

제가 올린것처럼 소스를 해주면 되나요?

#include <stdio.h>

#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
#define ESC 27

int main(){
        int i,j,x,y;
        char in;
        int map[5][5] = {{1,1,1,1,1},
                        {1,0,0,0,1},
                        {1,0,2,0,1},
                        {1,0,0,0,1},
                        {1,1,1,1,1}};
        while(1){
                system(\"cls\");
                for(i=0;i<5;i++){
                        for(j=0;j<5;j++){
                                if(map[i][j] == 0) printf(\" \");
                                else if(map[i][j] == 1) printf(\"■\");
                                else if(map[i][j] == 2){
                                        y=i;
                                        x=j;
                                        printf(\"★\");
                                }
                        }
                        printf(\"\\n\");
                }
                in = getch();
                if(in == UP && y>1 && y<5){
                        map[y-1][x] = map[y][x];
                        map[y][x] = 0;
                }
                else if(in == DOWN && y>0 && y<3){
                        map[y+1][x] = map[y][x];
                        map[y][x] = 0;
                }
                else if(in == LEFT && x>1 && x<5){
                        map[y][x-1] = map[y][x];
                        map[y][x] = 0;
                }
                else if(in == RIGHT && x>0 && x<3){
                        map[y][x+1] = map[y][x];
                        map[y][x] = 0;
                }
                else if(in == ESC) break;
        }
        printf(\"bye bye~\\n\");
}