Véase la imagen.

Si se quiere unir el punto o casillero A con el 2, como está marcado con verde, puede hacerse algo así:
XDelCasilleroaPintar = 0
Repetir
YDelCasilleroaPintar = XDelCasilleroaPintar
Pintar casillero ubicado en XDelCasilleroaPintar, YDelCasilleroaPintar
XDelCasilleroaPintar++
Mientras XDelCasilleroaPintar<3
Columnas (X) y filas (Y) fue contado desde 0.
Hay una relación entre Columna y Fila, una muy simple.
Si en cambio queremos unir el casillero B con el 2, debemos averiguar la relación entre fila y columna, algo así:
Fila y Columna
0 y 1
2 y 2
Nótese que estoy usando fila de base en vez de columna porque incluye más puntos en posiciones enteras.
En fin, sé que debo hacer esto:
YDelCasilleroaPintar = 0
Repetir
XDelCasilleroaPintar = 1+YDelCasilleroaPintar/2
Pintar casillero ubicado en XDelCasilleroaPintar, YDelCasilleroaPintar
YDelCasilleroaPintar++
Mientras YDelCasilleroaPintar<=YDelCasillero2
Pero necesito la fórmula para obtener todos esos números.
¿Por qué ese 1?
Asumo que porque el YDeB-XDeB=1. O sea el Y del punto B es 1 y el X es 0. Está en la columna 1, fila 0.
¿Por qué +YDelCasilleroaPintar/2?
Además hay otros casos en que cuando una cosa (fila o columna, pintándose) aumenta la otra disminuye, como que son reglas de 3 negativas, no sé.
En definitiva el programa debe poder señalar 2 puntos al azar y determinar cuales intermedios debe pintar.
Son casilleros en realidad, pero es más o menos lo mismo.
Cuando un casillero tenga una ubicación decimal, se la redondería. No hay una respuesta correcta sobre hacia dónde cuando sea .5, ni importa en mi caso.





Autor



En línea
