Código:
#include <stdio.h>
int main()
{
char c1,c2,c3,c4,c5,c6,c7,c8,c9,movimiento,marcajugador,jugar_otra;
int turno_jugador;
c1='1'; //Inicializacion Variables
c2='2';
c3='3';
c4='4';
c5='5';
c6='6';
c7='7';
c8='8';
c9='9';
turno_jugador=1;
bool juegoterminado(true),juego_ganado(true),movalido;
do{
printf("\t\t\t\t||%c||%c||%c||\n",c1,c2,c3);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c4,c5,c6);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c7,c8,c9);
printf("\t\t\t\t||+||+||+||\n\n");
if(turno_jugador==1)//Marca Jugador
{marcajugador= 'X';}
else
{marcajugador= 'O';}
printf("Jugador: %d Movimiento: ",turno_jugador);
do{
scanf("%c",&movimiento);
movalido=true;
//Checar movimientos
if (movimiento == '1' && c1 == '1')
{c1 = marcajugador;}
else if (movimiento == '2' && c2 == '2')
{c2 = marcajugador;}
else if (movimiento == '3' && c3 == '3')
{c3 = marcajugador;}
else if (movimiento == '4' && c4 == '4')
{c4 = marcajugador;}
else if (movimiento == '5' && c5 == '5')
{c5 = marcajugador;}
else if (movimiento == '6' && c6 == '6')
{c6 = marcajugador;}
else if (movimiento == '7' && c7 == '7')
{c7 = marcajugador;}
else if (movimiento == '8' && c8 == '8')
{c8 = marcajugador;}
else if (movimiento == '9' && c9 == '9')
{c9 = marcajugador;}
else {printf("Movimiento Invalido, Intenta Otra Vez\n");}
movalido = false;
}
while(!movalido);
juegoterminado=false;
juego_ganado=true;
if (c1 != '1')
{
if (c2 == c1 && c3 == c1)
{juegoterminado = true;}
if (c4 == c1 && c7 == c1)
{juegoterminado = true;}
}
if (c5 != '5')
{
if (c1 == c5 && c9 == 5)
{juegoterminado = true;}
if (c2 == c5 && c8 == c5)
{juegoterminado = true;}
if (c4 == c5 && c6 == c5)
{juegoterminado = true;}
if (c3 == c5 && c7 == c5)
{juegoterminado = true;}
}
if (c9 != '9')
{
if (c3 == c9 && c6 == c9)
{juegoterminado = true;}
if (c7 == c9 && c8 == c9)
{juegoterminado = true;}
}
if (c1 != '1' && c2 != '2' && c3 != '3' &&
c4 != '4' && c5 != '5' && c6 != '6' &&
c7 != '7' && c8 != '8' && c9 != '9' && !juegoterminado)
{
juegoterminado = true;
juego_ganado = false;
}
if (juegoterminado)
{
if (juego_ganado)
{printf("Juagador: %d Gana!",turno_jugador);}
// Imprimir Tablero
printf("\t\t\t\t||%c||%c||%c||\n",c1,c2,c3);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c4,c5,c6);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c7,c8,c9);
printf("\t\t\t\t||+||+||+||\n\n");
printf("Juego Terminado!");
printf("Jugar De Nuevo (Y/N)?");
scanf("%d",&jugar_otra);
if (jugar_otra == 'y'||jugar_otra == 'Y')
{
juegoterminado = false;
c1 = '1';
c2 = '2';
c3 = '3';
c4 = '4';
c5 = '5';
c6 = '6';
c7 = '7';
c8 = '8';
c9 = '9';
}
turno_jugador=1;
}
else {
if (turno_jugador == 1)
{turno_jugador = 2;}
else
{turno_jugador = 1;}
}
} while (!juegoterminado);
}