안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드로 간단한 게임을 만들어보려고합니다....
행렬을 이용해서 가로10칸 세로20칸의 2차원 배열을 생성해서 배열의 위치값을 가지고 블럭을 이동시키려는데요....
배열을 생성해서 칸을 만드는첫부분부터 감이 잘 잡히질 않습니다....
게임의 로직은 생각을 해 뒀는데.. 실제 구현하려니 너무 막막하네요...
우선 칸을 만들어야 될듯한데...
힌트나 도움을 좀 주실 수 있으신지 문의드립니다.
관련소스도 좋고 관련사이트도 좋고....
부탁드립니다.... ^^
2010.07.30 10:50:48
실제 2차원 배열과 개념은 다를 수 있습니다만,
아래와 같이 목적에 맞게 대충 이해하면서 작업하면 될 듯 합니다.
10,20 을 공간상 5,7 로 해보면..
int[][] k = new int[5][7];
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
위 배열에서 'ㄱ' 자를 표시한다고 하면..
k[0][1] = 1;
k[0][2] = 1;
k[1][1] = 1;
1 1 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
이렇게 될 듯 합니다.
원하시는게 이런 내용이신지.. ^^;
2010.07.30 10:54:28
여기서 'ㄱ' 자를 오른쪽으로 한칸 이동하는 이벤트가 들어온다면..
k[0][ 원래값 ] = 0;
k[0][ 원래값 ] = 0;
k[1][ 원래값 ] = 0;
k[0][ 원래값 + 1] = 1;
k[0][ 원래값 + 1] = 1;
k[1][ 원래값 + 1] = 1;
0 1 1 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
대충 감이 오시는지요?
방향에 따라 어떤 항목을 가감할지를 보시면 될 듯 하네요.
블럭이 맨 마지막(끝부분)에 닿았을때, 움직이지 못하게 하거나 하는 등의 예외처리는 필수겠지요?
2010.07.30 13:37:40
음.. 간단히 UI 로 풀어내려면요..
그냥 단순히 생각했을때..
사각형의 작은 이미지를 두가지 색상으로 준비합니다. (전체화면을 원하는 갯수로 나누었을때 한칸에 들어맞는 크기로...)
이 이미지들은 초기화될때 메모리에 올려둡니다.
이벤트 발생시마다 화면을 갱신하는데..
배열을 차례로 읽어서..( 이중 for 문 등으로 읽어서.. )
배열값이 0 이면 흰색 이미지를 배치하고,
배열값이 1 이면 검정색 이미지를 배치하고..
하면 되지 않을까요..
뭐 이것보다 더 좋은 방법도 수두룩할텐데..
딱히 간단히 설명드리려하니 이것밖에 떠오르지 않네요.
UI 쪽은 제가 많이 아는것이 없어서요.. 어떤 메소드를 써야하는지는 잘 모르겠네요 ^^;