tengo este pequeno problema, hice un juego del gato, ya saben el de X y O donde se deben unir 3 del mismo ya sean vertical u horizontal o diagonal, pero al terminar de hacerlo guarde y corri mi codigo fuente y me marco ciertos errores que no se porque estan mal ; (
LOS "warnings" o alertas no importan ya que se sigue ejecutando mi programa bn, lo fallido son los "errors" o errores que no tengo ni la mas remota idea de lo ke tengo ke hacer para corregirlo y ke corra bien y poder jugar gato.
por favor ayudenme que este es una tarea ke tengo ke entregar para el martes 25!!!!
aki esta el codigo, es ANSI C o lenguaje C
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//variables globales
void inicializar_tablero();
void nuevo_tablero();
void jugada();
char ganador();
time_t t;
char turno;
char matriz_nueva_posicion[3][3];
int i,j;
int main() {
//1.inicializar y despleguar el tablero
inicializar_tablero();
printf("\n");
//2.dar un volado para ver quien empieza
srand((unsigned) time(&t));
turno = rand()%2;
if(turno==1){
printf("Empieza el usuario");
}
else{
printf("Empieza la maquina");
}
//3.Usuario o maquina juega y se guarda la jugada. Y verificar si hay un ganador
do{
jugada();
ganador();
}while(ganador() == 0);
//4. Decir el ganador del juego
if(matriz_nueva_posicion[0][0] == 'X' || matriz_nueva_posicion[1][0] == 'X' || matriz_nueva_posicion[2][0] == 'X' || matriz_nueva_posicion[0][1] == 'X' || matriz_nueva_posicion[0][2] == 'X'){
puts("\n\n\tFELICIDADES GANASTE
");
}
else{
puts("\n\n\tLO SIENTO PERIDSTES ;-(");
}
return EXIT_SUCCESS;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ FUNCIONES @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@
inicializar_tablero()
{
//declarar variables locales
//inicializar tablero, 3x3
char matriz_posicion[3][3];
//desplegar posiciones y valores actuales del tablero
printf("+++JUGEMOS GATO+++\n\n");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
matriz_posicion[i][j]='-';
matriz_posicion[i][j]='-';
printf("%c",matriz_posicion[i][j]); printf("\t");
}
printf("\n");
}
}
///////////////////////////////////////////////////////////// JUGADA /////////////////////////////////////////////////////////////
jugada()
{
//variables locales
if(turno==1){
printf("Ingresa la posicion de tu jugada");
printf("FILA: ");
scanf("%i", & i);
printf("COLUMNA: ");
scanf("%i", & j);
matriz_nueva_posicion[i][j]='X';
}
else{
i = rand()%3;//fila
j = rand()%3;//columna
matriz_nueva_posicion[i][j]='O';
printf("La maquina ha ingresado su jugada");
}
nuevo_tablero();
}
///////////////////////////////////////////////////////////// NUEVO TABLERO ////////////////////////////////////////////////////
nuevo_tablero()
{
//desplegar el tablero actualizado
system("cls");
printf("+++JUGEMOS GATO+++\n\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(matriz_nueva_posicion == '0' || matriz_nueva_posicion == 'X'){
printf("%c",matriz_nueva_posicion[i][j]); printf("\t");
}
else{
matriz_nueva_posicion= '-';
printf("%c",matriz_nueva_posicion[i][j]); printf("\t");
}
}
printf("\n");
}
}
///////////////////////////////////////////////////////////// GANADOR //////////////////////////////////////////////////////////
ganador()
{
//verificacion de uniones horizontales (filas)
if(matriz_nueva_posicion[0][0] == matriz_nueva_posicion[0][1] && matriz_nueva_posicion[0][1] == matriz_nueva_posicion[0][2]){
return matriz_nueva_posicion[0][0];
}
else{
if(matriz_nueva_posicion[1][0] == matriz_nueva_posicion[1][1] && matriz_nueva_posicion[1][1] == matriz_nueva_posicion[1][2]){
return matriz_nueva_posicion[1][0];
}
else{
if(matriz_nueva_posicion[2][0] == matriz_nueva_posicion[2][1] && matriz_nueva_posicion[2][1] == matriz_nueva_posicion[2][2]){
return matriz_nueva_posicion[2][0];
}
else{
//verificacion de uniones verticales (columnas)
if(matriz_nueva_posicion[0][0] == matriz_nueva_posicion[1][0] && matriz_nueva_posicion[1][0] == matriz_nueva_posicion[2][0]){
return matriz_nueva_posicion[0][0];
}
else{
if(matriz_nueva_posicion[0][1] == matriz_nueva_posicion[1][1] && matriz_nueva_posicion[1][1] == matriz_nueva_posicion[2][1]){
return matriz_nueva_posicion[0][1];
}
else{
if(matriz_nueva_posicion[0][2] == matriz_nueva_posicion[1][2] && matriz_nueva_posicion[1][2] == matriz_nueva_posicion[2][2]){
return matriz_nueva_posicion[0][2];
}
else{
//verificacion de uniones diagonales (solamente hay 2 diagonales)
if(matriz_nueva_posicion[0][0] == matriz_nueva_posicion[1][1] && matriz_nueva_posicion[1][1] == matriz_nueva_posicion[2][2]){
return matriz_nueva_posicion[0][0];
}
else{
if(matriz_nueva_posicion[0][2] == matriz_nueva_posicion[1][1] && matriz_nueva_posicion[1][1] == matriz_nueva_posicion[2][0]){
return matriz_nueva_posicion[0][2];
}
else{
return 0;
}
}
}
} //cierres de los 6 else's
}
}
}
}
} //cierre de funcion ganador