Android programmering, Rader och kolumner?

Permalänk
Medlem

Android programmering, Rader och kolumner?

Tjena!
Jag har lite problem med att hitta ett sätt att söka igenom kolumner istället för rader..? Jag har alltså ett gäng bilder, 6x6 (36) stycken och jag behöver kolla om det är 3 i rad av samma bild. För att söka igenom om det finns 3 av samma i raderna har jag gjort såhär:

public int[] testRow(int row, int[][]bildIdPerCell ){
int [] antalSamma = new int[7];
boolean [] redanRaknat = new boolean[7];
/* Fyllt med nollor för att ha ett original värde */
antalSamma[0]=0;
for(int i = 1;i<=6;i++){
antalSamma[i]=0;
redanRaknat[i]=false;
}
for(int i = 1;i<=4;i++){
antalSamma[i]=1;

//Den räknar första raden, första bilden + 1 om den är likadan, och kollar sedan första raden, första bilden + 2.

if(bildIdPerCell[row][i]==bildIdPerCell[row][i +1]){
antalSamma[i]=antalSamma[i]+1;
if(bildIdPerCell[row][i]==bildIdPerCell[row][i +2]){
antalSamma[i]=antalSamma[i]+1;

}
}
}
return antalSamma;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Detta returneras till ett gäng textviews (har en för varje rad för enkelhetens skull) :
resultat = testScore.testRow(a, bildid);
if(a==1){
txtScore1.setText("res: "+resultat[1]+" "+resultat[2]+" "+resultat[3]+" "+resultat[4]+" "+resultat[5]+" "+resultat[6]);
for (k = 1; k<=4; k=k+1)
{if (resultat[k]==3) summa = summa+1;
}

som jag har satt längst ned i mitt projekt som berättar om jag har några 3 i rad, detta skall sedan användas för att räkna ihop poäng.
Detta kan ni se här : http://i.imgur.com/kz1FrV7.png
Frågan är nu hur jag skall gå till väga för att kunna räka kolumnerna, om ni skulle kunna ge exempel med liknande metod som jag använde för raderna så skulle jag vara tacksam ^^ ( om det nu går)

Är tacksam för all hjälp!

Mvh // Grante

Permalänk
Medlem

Om jag utgår från din befintliga kod som kontrollerar rader.
Kopiera funktionen och vänd plats på
bildIdPerCell[row][i]
till
bildIdPerCell[i][col]
så är det annars nästan identisk kod.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Om man nu vill söka igenom en 2d array så är det nog enklast med for-sats.

Ex.
int[][] 2DArray = new int[10][5];
for(int row = 0; row < 2DArray.length; row++)
for(int col = 0; col < 2DArray[row].lenght; col++)
2DArray[row][col]

Detta kommer gå igenom alla index:ar i arrayen. Först går den in i row och går igenom alla kolumner. 2DArray.lenght returnerar först längden av arrayen dvs 10 och 2DArray[row].lenght kommer returnerar 5 om jag inte minns fel.

Permalänk
Medlem

Tack för svaren! Skall testa det och återkommer med en uppdatering!