Biorąc pod uwagę siatkę, w której znam liczbę wierszy (która jest stała) i znam aktualną liczbę kolumn (które mogą rosnąć dowolnie), w jaki sposób obliczyć wiersz i kolumnę kwadratu z jego indeksu?Jak obliczyć wiersz/col z pozycji siatki?
+ + + + +
Cols ---> | 0 | 1 | 2 | 3 | ...
+--+---|---|---|---|---
0 | 0 | 3 | 6 | 9 | ...
+--+---|---|---|---|---
Rows 1 | 1 | 4 | 7 | A | ...
+--+---|---|---|---|---
2 | 2 | 5 | 8 | B | ...
+--+---|---|---|---|---
. . . . . ...
. . . . . .
. . . . . .
więc, biorąc pod uwagę:
final int mRowCount = /* something */;
int mColCount;
A biorąc pod uwagę pewną funkcję:
private void func(int index) {
int row = index % mRowCount;
int col = ???
Jak prawidłowo obliczyć col
? Musi to być funkcja zarówno liczby kolumn, jak i wierszy. Ale mój mózg mnie zawodzi.
Próbka: Jeśli index == 4
, to row = 1
, col = 1
. Jeśli index == 2
następnie row = 2
, col = 0
.
Dzięki.