Continuando con la entrada anterior, vamos a concluir el programa con la verificación que realiza el programa para saber si el usuario ganó o perdió y obviamente el Main.
6. y 7. Verificar Filas y Columnas y Verificar Diagonales
Estas dos funciones recorren la matriz global buscando que se cumpla la condición de que haya una línea recta entre tres puntos formada por números iguales y diferentes a cero, dependiendo si es 1 o 2 imprimir ganó o perdió respectivamente y retornar una valor de 9 que usaremos mas adelante
8. Podemos agrupar las funciones de Verificar y jugar del usuario y el computador para simplificar nuestro main de la siguiente manera:
6. y 7. Verificar Filas y Columnas y Verificar Diagonales
Estas dos funciones recorren la matriz global buscando que se cumpla la condición de que haya una línea recta entre tres puntos formada por números iguales y diferentes a cero, dependiendo si es 1 o 2 imprimir ganó o perdió respectivamente y retornar una valor de 9 que usaremos mas adelante
8. Podemos agrupar las funciones de Verificar y jugar del usuario y el computador para simplificar nuestro main de la siguiente manera:
int JugarComputadorTotal(int matriz[3][3]){
int u;
int y;
JugarComputador(matriz);
u=VerificarD(matriz);
y=VerificarFC(matriz);
if(u!=0){
return u;
}
if(y!=0){
return y;
}
}
int JugarUsuarioTotal(int matriz[3][3]){
int g;
int h;
JugarUsuario(matriz);
g=VerificarD(matriz);
h=VerificarFC(matriz);
if(g!=0){
return g;
}
if(h!=0){
return h;
}
}
9. Por último tenemos un Main que ejecuta todos los procesos y tiene un ciclo que cuenta los turnos y termina el programa en caso de que una de las condiciones se cumpla, añade otro turno si es necesario (más de 8 jugadas) y abre la oportunidad de empate
int main(){
MatrizO(matriz);
int j=0;
int a=0;
int b=0;
srand(time(NULL));
do{
a=JugarUsuarioTotal(matriz);
b=JugarComputadorTotal(matriz);
ImprimirMatriz(matriz);
if(a==1){
j=5;
printf("Ganó\n");
}
if(b==1 && a==0){
j=5;
printf("Perdió\n");
}
j++;
}while(j<4);
if(a==0 && b==0){
a=JugarUsuarioTotal(matriz);
if(a==1){
printf("Ganó\n");
}
}
if(a==0 && b==0){
printf("Empate\n");
}
ImprimirMatriz(matriz);
}
Comentarios
Publicar un comentario