Buenas gente, estoy haciendo un 4 en línea, el cual el tablero contenía enteros, luego decidí pasarlo a Chars para que sea más legible.
El jugador 1 utiliza las 'X'
El Jugador 2 utiliza los 'O' como fichas respectivamente
Estoy teniendo un problema al comparar el valor de estos chars cuando tengo que hacer un IF de 4 condiciones para verificar si hay 4 en línea diagonal, ya sea diagonal invertida o normal. Es decir, había hecho el MISMO código en enteros, pero ahora cuando lo paso a CHAR No me está funcionando, es decir el algoritmo está bien hecho, pero hay algo que me está fallando en alguna condición.
A continuación les dejo el código de la función donde estaría teniendo problemas y no me estaría funcionando.
Solo adjunto esa parte del código.
Es un tablero de 10x10
donde ultimaPosicion =3
DESDE YA MUCHAS GRACIAS A LOS QUE TOMAN SU TIEMPO PARA INTENTAR AYUDARME, SE AGRADECE.
El jugador 1 utiliza las 'X'
El Jugador 2 utiliza los 'O' como fichas respectivamente
Estoy teniendo un problema al comparar el valor de estos chars cuando tengo que hacer un IF de 4 condiciones para verificar si hay 4 en línea diagonal, ya sea diagonal invertida o normal. Es decir, había hecho el MISMO código en enteros, pero ahora cuando lo paso a CHAR No me está funcionando, es decir el algoritmo está bien hecho, pero hay algo que me está fallando en alguna condición.
A continuación les dejo el código de la función donde estaría teniendo problemas y no me estaría funcionando.
Solo adjunto esa parte del código.
Es un tablero de 10x10
donde ultimaPosicion =3
DESDE YA MUCHAS GRACIAS A LOS QUE TOMAN SU TIEMPO PARA INTENTAR AYUDARME, SE AGRADECE.
Código (cpp) [Seleccionar]
void diagonal(char cuadro[][numeroDeColumnas]) // 4 en linea diagonal
{
int filasARecorrer = numeroDeFilas - ultimaPosicion;
int i,j;
for (i=0;i<filasARecorrer;i++)
{
for(j=numeroDeColumnas;j>ultimaPosicion;j--)
{
if (cuadro[i][j]=='X' && cuadro[i+1][j-1]=='X' && cuadro[i+2][j-2]=='X' && cuadro[i+3][j-3]=='X') // Si el Jugador 1 hace 4 en linea diagonal
{
cout << "El jugador 1 gana!" << endl;
ganador=true;
}
if (cuadro[i][j]=='O' && cuadro[i+1][j-1]=='O' && cuadro[i+2][j-2]=='O' && cuadro[i+3][j-3]=='O') // Si el Jugador 2 hace 4 en linea Diagonal
{
cout << "El jugador 2 gana!" << endl;
ganador=true;
}
}
}
}