Me expresé mal acá
"Pero fila puede variar, así que quisiera que la fórmula implique F."
quise decir "Pero la cantidad de filas (F) puede variar, así que quisiera que la fórmula implique F."
La cantidad de filas siempre es igual a la cantidad de columnas.
Si la primera fila es la 0, le asigna del valor de fila a fila_vieja, si tienes en total $$f$$ filas (o sea $$f^2$$ casilleros) en este caso $$f=4$$ entonces el nuevo número de fila es $$fila\_nueva= f-fila\_vieja-1$$, cambia la 0 x 3 y la 1 x 2 y viceversa
A ver...
Filas es 4.
Si fila pintándose es 0, la opuesta es 4-0-1 = 3. Correcto.
Si fila pintándose es 1, la opuesta es 4-1-1 = 2.
Muy bien.
Filas es 5.
0 -> 5-0-1 = 4. Ok.
1 -> 5-1-1 = 3. Ok.
2 -> 5-2-1 = 2. En realidad este caso de "la mitad" creo que no lo necesito, sólo estaba probando.

si quieres saber el número que queda en un casillero en el que estaba el numero N es $$N(nuevo)=(f-N//f-1) \cdot 4+(N)\%f$$ si la numeración empieza en 0
Si filas es 4:
Si el casillero es el nro 0:
No estoy seguro de poder hacer bien las operaciones:
(4-0/4-1)*4+0%4 =
(4-0-1)*4+0 =
(3)*4+0 = 12, bien.
Si el casillero es el nro 1:
(4-1/4-1)*4+1%4 =
(4-0.25-1)*4+1 =
(2.75)*4+1 =
8 + 3 + 1 = 12 ¿hice algo mal?
Pruebo la fórmula en el programa.
No me funciona bien.
Se supone que dices esto:
(filas-casillero/filas-1)*4+casillero%filas
Puse:
NroDelCuadraditoOpuesto = (CuadraditosPorFila-NroDelCuadraditoaRepintar/CuadraditosPorFila-1)*4+NroDelCuadraditoaRepintar%CuadraditosPorFila;
Con 6 filas, dice:
El opuesto del cuadradito 0 es 20
El opuesto del cuadradito 1 es 20.3333333333333
El opuesto del cuadradito 2 es 20.6666666666667
El opuesto del cuadradito 3 es 21
etc
Pruebo cambiar el 4 por filas.
El opuesto del cuadradito 0 es 30
El opuesto del cuadradito 1 es 30
etc
No sirvió.
Hola
En general si tu tablero es de \( m \) filas y \( n \) columnas al número \( S \) le corresponde:
\( S\to S+(m-1-2[S/n])\cdot n \)
Lo interpreto así
casillero+(filas-1-2*(casillero/filas)*filas
Puse esto:
NroDelCuadraditoOpuesto = NroDelCuadraditoaRepintar+(CuadraditosPorFila-1-2*(NroDelCuadraditoaRepintar/CuadraditosPorFila))*CuadraditosPorFila;
Con filas 6 me da:
El opuesto del cuadradito 0 es 30
El opuesto del cuadradito 1 es 29
El opuesto del cuadradito 2 es 28
El opuesto del cuadradito 3 es 27
El opuesto del cuadradito 4 es 26
El opuesto del cuadradito 5 es 25
El opuesto del cuadradito 6 es 24
El opuesto del cuadradito 7 es 23
El opuesto del cuadradito 8 es 22
etc, algo está mal, tiene que aumentar hasta 35 creo, luego bajar, aumentar...
Con filas 4:
El opuesto del cuadradito 0 es 12
El opuesto del cuadradito 1 es 11
El opuesto del cuadradito 2 es 10
El opuesto del cuadradito 3 es 9
El opuesto del cuadradito 4 es 8
Ves que no, tiene que ir aumentando y bajar recién en 4, 4 está bien.
---------------------------------------------------------------
Fijense que yo haya aplicado bien las fórmulas, capáz que copié mal.