2013-06-12 34 views
0

首先,我在編程方面比較新,而且我是第一次編程android。我會先解釋我的遊戲,然後問這個問題,因爲否則很難理解這個問題。如何檢查圖像是否顯示邊框?

我的遊戲: http://imageshack.us/photo/my-images/593/gamelayoutd.png/(我遊戲的畫面佈局)

白色的 「方塊」 應表明冰的瓷磚。他們都是用相同的Src,但不同的IDS seperat imageviews。

這是一個雙人遊戲。遊戲的重點是讓玩家在左上角和左下角之間創建一排連接的棋子(玩家從右上角到左下角)。對角線連接就足夠了。你輪流在「索賠」冰瓦。一旦聲稱冰瓦,它不能被放棄。

@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。休息應該清楚。

我的問題/問題: 現在,一旦瓷磚獲得點擊,我需要檢查,如果玩家一個或兩個有他們的起點和終點之間的瓦連「線」。 我想將每個點擊的imageview推入數組(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] 

藉口了一些錯誤的語法,但我寫更多的是僞代碼的。