Cita:
Iniciado por CalgaryCorpus Resolver el problema de 4 en raya en un tablero de 4x4 se puede simplificar como he mostrado.
Ahora cómo resolver el problema de 4 en raya en un tablero de 6x7 seguro resulta mas complejo que lo mostrado. ¿o no?
Simplificaciones posibles:
- no es necesario hacer todos los recorridos todas las veces cuando se sabe que la ultima jugada pasó por la coordenada (fila,columna).
- Es facil saber que la ultima jugada no ha hecho 4 si la suma es menor que 4. Solo es necesario chequear si la suma es 4 o más.
Hola, la verdad es que te respondí sin haber entendido el código. Estas cosas me llevan varias horas. Y la verdad es que no termino de entender el código.
¿Como funcionan suma_fila[] y suma_columna[]
Cita: Es facil saber que la ultima jugada no ha hecho 4 si la suma es menor que 4. Solo es necesario chequear si la suma es 4 o más
¿Qué quiere decir esto exactamente?
@alvarogt91
Me alegro que hayas resuelto el tema.
Pero hay una cosa que no entiendo (lo pregunto para el que me lo pueda responer)
Código C++:
Ver original//Ganador o Empate
void MainWindow::Ganado(int fila,int columna,int ficha)
{
bool ganador=false;
ganador |= ComprobarDiagonalDerecha(fila,columna);
ganador |= ComprobarDiagonalIzquierda(fila,columna);
ganador |= ComprobarVertical(fila,columna);
ganador |= ComprobarHorizontal(fila,columna);
...................................................................
}
¿Cómo se leen esas líneas?
Por cierto, aunque soy pesado (es que estoy metiendo las manazas en Qt y por eso me interesa todo esto), has probado a enviar el archivo ui_mainwindow.h, a ver si éste si cabe (aunque sea en dos post)
Saludos y gracias!