n열에 n-1열을 복사 ?!
갅지돋는슬아
테트리스 일부분 입니다~
n열에 n-1열을 복사 (줄 내리기)라고 교수님이 써 주시고 과제 내주셨는데요...
도저히 모르겠어요 ㅠㅠ
어떻게 해야 한줄이 삭제되고... 줄내리기가 될까요( 배열복사 개념을잘 모르겠어요..)
int no_zero(int line){ //꽉찬 줄이 있나 검사 하는 함수
114 int i;
115
116 for(i=0;i11;i++){
117 if(background[line][i]==0){
118 return 0;
119 }
120 }
121 return 1;
122 }
123
124 void transfer(){ // 블록을 배경에 저장 및 줄삭제&줄내리기 함수
125 int i, r, cnt, c, cc, tr;
126 // 각 4개의 점에 대해서 배경상의
127 // 위치를 계산하여 1로 만들어준다.
128 for (i=0; i4; i++){
129 int tx, ty;
130 tx = cur_pos.x + blk[cur_blk].cell[rotation][i].x;
131 ty = cur_pos.y + blk[cur_blk].cell[rotation][i].y;
132 background[ty][tx] = blk[cur_blk].color;
133 }
134 // 이제 가득찬 줄이 있나 검사해서
135 // 있으면 아래로 민다.
136 int n;
137 for(n = 19; n0; n--){
138 if(no_zero(n)){
139 n열에 n-1열을 복사 (줄 내리기)
140
141
142
143 }
144 }
145 }
-
핫파랑
삭제되는 상태정보를 받고 한줄씩 밀어서 그리면 될 것 같네요
흐름을 보기엔 올린 소스가 택없이 부족한 것 같네요