Dato una griglia in cui conosco il numero di righe (che è fisso) e conosco il numero corrente di colonne (che possono crescere arbitrariamente), come faccio a calcolare la riga e la colonna di un quadrato dal suo indice?Come calcolare la riga/colonna dalla posizione della griglia?
+ + + + +
Cols ---> | 0 | 1 | 2 | 3 | ...
+--+---|---|---|---|---
0 | 0 | 3 | 6 | 9 | ...
+--+---|---|---|---|---
Rows 1 | 1 | 4 | 7 | A | ...
+--+---|---|---|---|---
2 | 2 | 5 | 8 | B | ...
+--+---|---|---|---|---
. . . . . ...
. . . . . .
. . . . . .
Quindi, dato:
final int mRowCount = /* something */;
int mColCount;
E dato qualche funzione:
private void func(int index) {
int row = index % mRowCount;
int col = ???
Come faccio a calcolare correttamente col
? Deve essere una funzione sia del numero di colonne che di righe, ne sono abbastanza sicuro. Ma il mio cervello mi sta fallendo.
Esempio: se index == 4
, quindi row = 1
, col = 1
. Se index == 2
quindi row = 2
, col = 0
.
Grazie.