Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2011, 18:22
MPSLOL
 
Fecha de Ingreso: enero-2011
Ubicación: XD
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta por favor ayuda!!!

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