퍼즐 게임을 만들다가 막히는 부분이 있어 질문 올립니다, 블럭 쌓아서 가로 세로 로 3개이상 같은 블럭이면 점수가 올라가는 게임입니다,
배열로 보드를 만들고 배열 안에 0 1 2 3 4 5 6 7 의 숫자 가지고 블럭을 표현했는데 블럭 3줄 맞추고 그위의 블럭이 밑으로 내려 오게 만들려고 합니다, 이부분에서 배열 을 복사 하여 넣고 싶은데,, 그분이 잘안됩니다,
private char[][] board = {
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 5, 4, 4, 1},
{1, 0, 0, 0, 3, 3, 3, 1},
{1, 1, 1, 1, 1, 1, 1, 1}
};
1은 보드 판의 기본틀이고 3 4 5 가 블럭입니다. 3이 연속 3개이니 사라지고 그위에 블럭을 밑으로 배치하기 위해 저는
curY = 세로 높이 = 7 count = 연속된 블럭 카운터 해서 3입니다.
for (int curY = y; curY > 0; curY-- ){
for (int r = 1; r <= count; r++)
{
System.arraycopy(board[curY-1], 1, board[curY], 1, count);
}
}
이렇게 했는데 이렇게 하니 ,, System.arraycopy (복사할 배열 , 복사할 순서 , 복사될 배열 , 복사된 순서 , 길이)
이렇게 라서 그위줄 부터 복사되는데 ,, 노란 부분이 복사되어 ㅜㅜㅜ 버립니다,
이걸 회색 부분만 복사 하여 그 아래로 붙치는 방법이 없나요???
조언 부탁드립니다...