Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/06/2014, 04:30
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Juego 4 en raya

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
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
  1. //Ganador o Empate
  2. void MainWindow::Ganado(int fila,int columna,int ficha)
  3. {
  4.     bool ganador=false;
  5.  
  6.     ganador |= ComprobarDiagonalDerecha(fila,columna);
  7.     ganador |= ComprobarDiagonalIzquierda(fila,columna);
  8.     ganador |= ComprobarVertical(fila,columna);
  9.     ganador |= ComprobarHorizontal(fila,columna);
  10.    ...................................................................
  11. }

¿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!