2013-06-12 5 views
0

우선, 나는 비교적 처음부터 프로그래밍에 익숙하며 나는 안드로이드 프로그래밍을 처음으로하고 있습니다. 먼저 게임에 대해 설명하고 다른 질문을 이해하는 것이 어렵 기 때문에 질문하십시오.이미지보기 테두리가 있는지 어떻게 확인할 수 있습니까?

내 게임 : http://imageshack.us/photo/my-images/593/gamelayoutd.png/ (사진 내 게임의 레이아웃)

화이트 "사각형"을 표시해야합니다 얼음 타일. 그것들은 같은 Src이지만 다른 id를 가진 seperat imageviews입니다.

두 명의 플레이어 게임입니다. 게임의 포인트는 플레이어 1이 왼쪽 상단 모퉁이와 왼쪽 하단 모서리 사이에 연결된 타일 줄을 만드는 것입니다 (플레이어 2는 오른쪽 위 모서리에서 왼쪽 하단 모서리까지). 대각선 연결이면 충분합니다. 얼음 타일을 "요구하다"는 순서로 교대로 진행합니다. 얼음 타일이 청구되면 부인할 수 없습니다.

@Override 
public void onClick(View arg0) { 
    if (i % 2 == 0) { 
     ((ImageView) arg0).setImageResource(R.drawable.Rock); 
     i++; 
     arg0.getLocationOnScreen(SolutionArraySand); 
     arg0.setClickable(false); 
    } else { 
     ((ImageView) arg0).setImageResource(R.drawable.Sand); 
     i++; 
     arg0.getLocationOnScreen(SolutionArrayRock); 
     arg0.setClickable(false); 
    } 

클릭 한 타일을 "소유권 주장하는"코드입니다. 모든 이미지보기에 onClickListener를 설정했습니다. 휴식은 분명해야합니다.

내 문제/질문 : 지금 한 번 타일 나는 선수 하나 또는 두 개의 자신의 시작과 끝 타일 사이의 연결 "선"이 있는지 확인해야합니다, 클릭 가져옵니다. 내가 클릭 한 모든 이미지 뷰를 배열 (SolutionArrayRock/Sand)에 푸시 한 다음 어떻게 든 확인했지만 어떻게 했습니까? 아니면 문제를 다르게, 태그 등으로 작업해야합니까?

내 질문을 이해하고 계시지 않겠습니까? 도움을 주시면 감사하겠습니다.

감사

우고

답변

0

만약 모든 타일 배열 (X, Y)의 위치를 ​​저장할 수있다. 각 플레이어는 자체 배열을 갖습니다. 그런 다음 배열을 통해 반복하고 같은 것을 수행

for (int i=0; i < array.size()-1; i++) 

    valid_adjacent_cell_positions = get_list_of_valid_adjacent_cell_position(array[i].x, array[1].y) 

    if array[i+1] not in valid_adjacent_cell_positions: 
     return false; 

return true; 


List<Position> get_list_of_valid_adjacent_cell_position(int x, int y): 
    // should return list of valid positions 
    // e.g. if 0,0 then function should return [1,0 and 1,1] 

변명 잘못된 구문의 일부를하지만 난 psuedocode의 이상을 쓰고 있어요.

관련 문제