Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Dieux Rablia en 20 Mayo 2012, 07:14 am



Título: Ayuda con el juego del gato
Publicado por: Dieux Rablia en 20 Mayo 2012, 07:14 am
Hola ...
soy nuevo en el foro y en programacion estoy a prendiendo a programar en turbo c++ 4.5 y me degaron un trabajo del juego del gato pero no puedo me marca error  en dos codijos uno es mio y el otro me lo paso un amigo pero tambn me marca error cuando lo quiero correr a son los siguientes dos codigos
------------------------------------------------------este es mi codigo-------------------------
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define MAX_FILA 3
#define MAX_COLUM 3
#define MAX_JUG 2
#define MAX_TURNO 9
#define GANA_O 237
#define GANA_X 264
void turno_jugador();
void imprimir_tablero(char gato[MAX_FILA][MAX_COLUM]);
int verificar_filas(char gato[MAX_FILA][MAX_COLUM]);
int verificar_columnas(char gato[MAX_FILA][MAX_COLUM]);
int verificar_diagonal(char gato[MAX_FILA][MAX_COLUM]);
int verificar_d_inversa(char gato[MAX_FILA][MAX_COLUM]);
int main()
{
    cprintf("Juego del Gato v1.0\n");
    turno_jugador();
    return 0;
}
void imprimir_tablero(char gato[MAX_FILA][MAX_COLUM])
{
    int i,j;
    for(i=0;i<MAX_FILA;i++)
    {
        for(j=0;j<MAX_COLUM;j++)
        {
            if((gato[j]=='X')||(gato[j]=='O'))
                printf("%c",gato[j]);
            else
               printf(" ");
               printf("|");
        }
        printf("\n");
           printf("______");
        printf("\n");
    }
}
int verificar_filas(char gato[MAX_FILA][MAX_COLUM])
{
    int i,j,suma,ganador=0;
    for(i=0;i<MAX_FILA;i++)
    {
        suma=0;
        for(j=0;j<MAX_COLUM;j++)
            suma=suma+gato[j];
        if(suma==GANA_X)
        {
            printf("El ganador es el jugador X\n");
            ganador=1;
            return ganador;
        }
        else if(suma==GANA_O)
        {
            printf("El ganador es el jugador O\n");
            ganador=2;
            return ganador;
        }
        else
           ganador=0;
    }
    if(ganador==0)
       ganador=verificar_columnas(gato);
    return ganador;
}
int verificar_columnas(char gato[MAX_FILA][MAX_COLUM])
{
    int i,j,suma,ganador;
    for(i=0;i<MAX_FILA;i++)
    {
        suma=0;
        for(j=0;j<MAX_COLUM;j++)
            suma=suma+gato[j];
        if(suma==GANA_X)
        {
            printf("El ganador es el jugador X\n");
            ganador=1;
            return ganador;
        }
        else if(suma==GANA_O)
        {
            printf("El ganador es el jugador O\n");
            ganador=2;
            return ganador;
        }
        else
           ganador=0;
    }
    if(ganador==0)
       ganador=verificar_diagonal(gato);
    return ganador;
}
int verificar_diagonal(char gato[MAX_FILA][MAX_COLUM])
{
    int i,suma=0,ganador;
    for(i=0;i<MAX_FILA;i++)
       suma=suma+gato;
    if(suma==GANA_X)
    {
        printf("El ganador es el jugador X\n");
        ganador=1;
        return ganador;
    }
    else if(suma==GANA_O)
    {
        printf("El ganador es el jugador O\n");
        ganador=2;
        return ganador;
    }
    else
       ganador=0;
    if(ganador==0)
       ganador=verificar_d_inversa(gato);
    return ganador;
}
int verificar_d_inversa(char gato[MAX_FILA][MAX_COLUM])
{
    int i,j,suma=0,ganador;
    for(i=2,j=0;j<MAX_COLUM;i--,j++)
       suma=suma+gato[j];
    if(suma==GANA_X)
    {
        printf("El ganador es el jugador X\n");
        ganador=1;
        return ganador;
    }
    else if(suma==GANA_O)
    {
        printf("El ganador es el jugador O\n");
        ganador=2;
        return ganador;
    }
    else
       ganador=0;
    return ganador;
}
void turno_jugador()
{
    int fila,columna,i,turno,ganador=0;
    char jugador[]={'X','O'};
    char gato[MAX_FILA][MAX_COLUM],letra;
    turno=1;
    do
    {
        for(i=0;i<MAX_JUG;i++)
        {
            printf("Es turno del jugador %c\n",jugador);
            printf("Dime la fila (1 a 3): ");
            scanf("%d",&fila);
            printf("Dime la columna(1 a 3): ");
            scanf("%d",&columna);
            letra=jugador;
            gato[fila-1][columna-1]=letra;
            imprimir_tablero(gato);
            ganador=verificar_filas(gato);
            if(ganador!=0)
                i=MAX_JUG+1;
            printf("Pulse enter para continuar...\n");
            getch();
            system("cls");
            turno++;
        }
    }while((turno<=MAX_TURNO)&&(ganador==0));
}
------------------------------------------------este es el codijo de mi amijo--------------
#include<iostream.h>
#include<stdio.h>
#include<ctype.h>
#include<conio.h>

int y,z,op;
int x,contador,usuario,win,posicion,posicion2;

char CAT[3][3]={ {' ',' ',' '}, {' ',' ',' '}, {' ',' ',' '} };
int  cat[3][3]={ { 0 , 0 , 0 }, { 0 , 0 , 0 }, { 0 , 0 , 0 } };



void SALIDA()
{
 clrscr();
 for (x=1;x<=80;x++)
  {
   for (y=0;y<=100;y++)
   {
    gotoxy(x,1);printf("Í");
    gotoxy(81-x,24);printf("Í");
   }
  }

  for (x=1;x<=24;x++)
  {
   for (y=0;y<=100;y++)
   {
    gotoxy(1,x);printf(">");
    gotoxy(80,25-x);printf("<");
   }
  }
}



void ULTIMO()
{
  textcolor(15);gotoxy(1,24);printf("Finalizando Secuencia de Gato... Modo: CPU Vs Usuario.");
  for(x=1;x<81;x++)
  {
   gotoxy(x,25);printf(".");
  }
  gotoxy(55,23);
}

void DIBUJO()
{
 textcolor(YELLOW);
 gotoxy(25,15);printf("        ³    ³    \n");
 gotoxy(25,16);printf ("   ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
 gotoxy(25,17);printf ("       ³    ³    \n");
 gotoxy(25,18);printf ("   ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
 gotoxy(25,19);printf ("       ³    ³    \n");
 gotoxy(30,15);textcolor(GREEN);printf("X");
}

void PRINTFS()
{
 gotoxy(35,15);if(CAT[0][1]=="X")textcolor(GREEN);else textcolor(RED);printf("%c",CAT[0][1]);
 gotoxy(40,15);if(CAT[0][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[0][2]);
 gotoxy(30,17);if(CAT[1][0]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][0]);
 gotoxy(35,17);if(CAT[1][1]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][1]);
 gotoxy(40,17);if(CAT[1][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][2]);
 gotoxy(30,19);if(CAT[2][0]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][0]);
 gotoxy(35,19);if(CAT[2][1]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][1]);
 gotoxy(40,19);if(CAT[2][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][2]);
}

void POSICIONES2()
{
 DIBUJO();
 if (posicion==2){gotoxy(35,15);textcolor(RED);printf("O");}
 if (posicion==3){gotoxy(40,15);textcolor(RED);printf("O");}
 if (posicion==4){gotoxy(30,17);textcolor(RED);printf("O");}
 if (posicion==5){gotoxy(35,17);textcolor(RED);printf("O");}
 if (posicion==6){gotoxy(40,17);textcolor(RED);printf("O");}
 if (posicion==7){gotoxy(30,19);textcolor(RED);printf("O");}
 if (posicion==8){gotoxy(35,19);textcolor(RED);printf("O");}
 if (posicion==9){gotoxy(40,19);textcolor(RED);printf("O");}
 PRINTFS();
}

void GANAR()
{
if(CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='X'||
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='X'||
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='X'||
   CAT[0][0]=='X'&& CAT[1][1]=='X'&& CAT[2][2]=='X'||
   CAT[0][2]=='X'&& CAT[1][1]=='X'&& CAT[2][0]=='X'||
   CAT[0][0]=='X'&& CAT[1][0]=='X'&& CAT[2][0]=='X'||
   CAT[0][2]=='X'&& CAT[1][2]=='X'&& CAT[2][2]=='X'||
   CAT[0][1]=='X'&& CAT[1][1]=='X'&& CAT[2][1]=='X')
   {
    gotoxy(1,20);textcolor(GREEN);printf("\n\nEl ganador es el CPU !!!\n");getch();win=2;posicion=10;
   }

if(CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O' )
  {
  gotoxy(1,20);textcolor(LIGHTCYAN);printf("\n\nEl juego esta  indefinido....\n");getch();win=2;posicion=10;
  }
}

void JUGADA2()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(35,15);textcolor(RED);printf("O");CAT[0][1]='O';
  gotoxy(35,17);textcolor(GREEN);printf("X");CAT[1][1]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:break;
   case 3:if(CAT[1][0]=='X')
     {
     CAT[0][2]='O'; CAT[2][0]='X';
     gotoxy(1,20);getch();break;
     }
     else
     {
     CAT[0][2]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);getch();break;
     }
   case 4:if(CAT[1][0]=='X')
     break;
     else
     {
     CAT[1][0]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 5:break;
   case 6:if(CAT[1][0]=='X')
     {
     CAT[1][2]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:if(CAT[1][0]=='X')
     {
     CAT[2][0]='O'; CAT[1][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][0]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 8:if(CAT[1][0]=='X')
     {
     CAT[2][1]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:CAT[2][2]='O'; CAT[1][0]= 'X';getch();break;
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void JUGADA3()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(40,15);textcolor(RED);printf("O");CAT[0][2]='O';
  gotoxy(30,17);textcolor(GREEN);printf("X");CAT[1][0]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);printf("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:if(CAT[1][1]=='X')
     {
     CAT[0][1]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[0][1]='O'; CAT[2][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 3:break;
   case 4:break;
   case 5:if(CAT[2][0]=='O')
     break;
     else
     {
     CAT[1][1]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 6:if(CAT[2][0]=='O')
     {
     CAT[1][2]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[2][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:CAT[2][0]='O';CAT[1][1]='X';getch();break;
   case 8:if(CAT[2][0]=='O')
     {
     CAT[2][1]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[2][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:if(CAT[2][0]=='O')
     {
     CAT[2][2]='O'; CAT[1][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][2]='O'; CAT[2][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void JUGADA4()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(30,17);textcolor(RED);printf("O");CAT[1][0]='O';
  gotoxy(35,17);textcolor(GREEN);printf("X");CAT[1][1]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:if(CAT[2][2]=='O')
     break;
     else
     {
     CAT[0][1]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 3:if(CAT[2][2]=='O')
     {
     CAT[0][2]='O'; CAT[2][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[0][2]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 4:break;
   case 5:break;
   case 6:if(CAT[2][2]=='O')
     {
     CAT[1][2]='O'; CAT[2][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:if(CAT[2][2]=='O')
     {
     CAT[2][0]='O'; CAT[0][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][0]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 8:if(CAT[2][2]=='O')
     {
     CAT[2][1]='O'; CAT[0][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:CAT[2][2]='O'; CAT[0][1]= 'X';getch();break;
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}



void JUGADA5()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(35,17);textcolor(RED);printf("O");CAT[1][1]='O';
  gotoxy(30,19);textcolor(GREEN);printf("X");CAT[2][0]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);


 switch(posicion2)
   {
   case 1:break;
   case 2:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[0][1]='O'; CAT[1][0]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[0][1]='O'; CAT[2][1]= 'X';break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='O' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        break;
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]=='O' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        {
        CAT[0][1]='O'; CAT[2][2]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='O' && CAT[2][2]==' ' )
        break;
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]=='O' )
        break;
   case 3:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[0][2]='O'; CAT[1][0]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[0][2]='O'; CAT[2][1]= 'X';break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='O' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        {
        CAT[0][2]='O'; CAT[2][2]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='O' && CAT[2][2]==' ' )
        {
        CAT[0][2]='O'; CAT[2][2]= 'X';
        gotoxy(1,20);textcolor(LIGHTCYAN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]=='O' )
        {
        CAT[0][2]='O'; CAT[2][1]= 'X';
        gotoxy(1,20);textcolor(LIGHTCYAN);getch();break;
        }
   case 4:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[1][0]='O'; CAT[1][2]= 'X';break;
        }
   case 5:break;
   case 6:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[1][2]='O'; CAT[1][0]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        break;
   case 7:break;
   case 8:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[2][1]='O'; CAT[1][0]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[2][1]='O'; CAT[0][1]= 'X';break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='O' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        break;
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='O' && CAT[2][2]==' ' )
        break;
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]=='O' )
        {
        CAT[2][1]='O'; CAT[0][2]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
   case 9:
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]==' ' && CAT[1][1]=='O' && CAT[1][2]==' ' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[2][2]='O'; CAT[1][0]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]==' ' && CAT[2][2]==' ' )
        {
        CAT[2][2]='O'; CAT[0][1]= 'X';break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='O' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        {
        CAT[2][2]='O'; CAT[0][2]= 'X';
        gotoxy(1,20);textcolor(LIGHTCYAN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]==' ' && CAT[0][2]=='O' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='X' && CAT[2][2]==' ' )
        {
        CAT[2][2]='O'; CAT[0][1]= 'X';
        gotoxy(1,20);textcolor(LIGHTCYAN);getch();break;
        }
     if(CAT[0][0]=='X' && CAT[0][1]=='X' && CAT[0][2]==' ' &&
        CAT[1][0]=='O' && CAT[1][1]=='O' && CAT[1][2]=='X' &&
        CAT[2][0]=='X' && CAT[2][1]=='O' && CAT[2][2]==' ' )
        {
        CAT[2][2]='O'; CAT[0][2]= 'X';
        gotoxy(1,20);textcolor(GREEN);getch();break;
        }
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void JUGADA6()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(40,17);textcolor(RED);printf("O");CAT[1][2]='O';
  gotoxy(35,17);textcolor(GREEN);printf("X");CAT[1][1]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:if(CAT[2][2]=='O')
     {
     CAT[0][1]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[0][1]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 3:if(CAT[2][2]=='O')
     break;
     else
     {
     CAT[0][2]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 4:if(CAT[2][2]=='O')
     {
     CAT[1][0]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][0]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 5:break;
   case 6:break;
   case 7:if(CAT[2][2]=='O')
     {
     CAT[2][0]='O'; CAT[0][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][0]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 8:if(CAT[2][2]=='O')
     {
     CAT[2][1]='O'; CAT[2][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[2][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:CAT[2][2]='O'; CAT[0][2]= 'X';getch();break;
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void JUGADA7()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(30,19);textcolor(RED);printf("O");CAT[2][0]='O';
  gotoxy(35,15);textcolor(GREEN);printf("X");CAT[0][1]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);printf("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:break;
   case 3:CAT[0][2]='O';CAT[1][1]='X';break;
   case 4:if(CAT[0][2]=='O')
     {
     CAT[1][0]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][0]='O'; CAT[0][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 5:if(CAT[0][2]=='O')
     break;
     else
     {
     CAT[1][1]='O'; CAT[0][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 6:if(CAT[0][2]=='O')
     {
     CAT[1][2]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[0][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:break;
   case 8:if(CAT[0][2]=='O')
     {
     CAT[2][1]='O'; CAT[2][2]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[0][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:if(CAT[0][2]=='O')
     {
     CAT[2][2]='O'; CAT[2][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][2]='O'; CAT[0][2]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}

void JUGADA8()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(35,19);textcolor(RED);printf("O");CAT[2][1]='O';
  gotoxy(30,19);textcolor(GREEN);printf("X");CAT[2][0]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:if(CAT[1][0]=='O')
     {
     CAT[0][1]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[0][1]='O'; CAT[1][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 3:if(CAT[1][0]=='O')
     break;
     else
     {
     CAT[0][2]='O'; CAT[1][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 4:CAT[1][0]='O'; CAT[0][2]='X';break;
   case 5:if(CAT[1][0]=='O')
     {
     CAT[1][1]='O'; CAT[0][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][1]='O'; CAT[1][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 6:if(CAT[1][0]=='O')
     {
     CAT[1][2]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[1][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:break;
   case 8:break;
   case 9:if(CAT[1][0]=='O')
     {
     CAT[2][2]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][2]='O'; CAT[1][0]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void JUGADA9()
{
 win=0;
  while(win<=1)
  {
  gotoxy(30,15);textcolor(GREEN);printf("X");CAT[0][0]='X';
  gotoxy(40,19);textcolor(RED);printf("O");CAT[2][2]='O';
  gotoxy(40,15);textcolor(GREEN);printf("X");CAT[0][2]='X';
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion2);

  switch(posicion2)
   {
   case 1:break;
   case 2:CAT[0][1]='O'; CAT[2][0]='X';break;
   case 3:break;
   case 4:if(CAT[2][0]=='X')
     {
     CAT[1][0]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][0]='O'; CAT[0][1]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 5:if(CAT[0][1]=='O')
     {
     CAT[1][1]='O'; CAT[1][0]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][1]='O'; CAT[0][1]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 6:if(CAT[2][0]=='X')
     {
     CAT[1][2]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[1][2]='O'; CAT[0][1]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 7:if(CAT[0][1]=='O')
     break;
     else
     {
     CAT[2][0]='O'; CAT[0][1]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 8:if(CAT[0][1]=='O')
     {
     CAT[2][1]='O'; CAT[1][1]='X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
     else
     {
     CAT[2][1]='O'; CAT[0][1]= 'X';
     gotoxy(1,20);textcolor(GREEN);getch();break;
     }
   case 9:break;
   default:break;
   }
   POSICIONES2();
   GANAR();
  }
}


void CPU()
{
while(posicion<=9)
  {
  textbackground(BLUE);
  clrscr();
  textcolor(YELLOW+128);printf("                         ­ ­ G   A   T   O ! !   \n");
  textcolor(WHITE);
  gotoxy(1,2);printf("Tabla de Posiciones:\n");
  gotoxy(1,3);printf("Instrucciones.Elija su posici¢n y Presione Enter <ÄÄÙ.\n");
  gotoxy(1,4);printf ("                             1  ³ 2  ³ 3  \n");
  gotoxy(1,5);printf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄÄ \n");
  gotoxy(1,6);printf ("                             4  ³ 5  ³ 6  \n");
  gotoxy(1,7);printf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄÄ \n");
  gotoxy(1,8);printf ("                             7  ³ 8  ³ 9  \n");
  gotoxy(1,9);printf("Modo:CPU Vs Usuario.\n\n");
  gotoxy(1,10);printf("                  CPU :[   ]                 USUARIO :[   ] \n");
  gotoxy(26,10);textcolor(GREEN);printf("X");
  gotoxy(57,10);textcolor(RED);printf("O");
  DIBUJO();
  gotoxy(20,12);textcolor(WHITE);printf("Usuario,Elija posici¢n [   ].\n");
  gotoxy(45,12);textcolor(RED);scanf ("%d",&posicion);
  switch(posicion)
  {
  case 1:gotoxy(10,13);textcolor(YELLOW);
    printf("Error.Rectifica posici¢n...");getch();getch();posicion=0;break;
  case 2:JUGADA2();break;
  case 3:JUGADA3();break;
  case 4:JUGADA4();break;
  case 5:JUGADA5();break;
  case 6:JUGADA6();break;
  case 7:JUGADA7();break;
  case 8:JUGADA8();break;
  case 9:JUGADA9();break;
  default:gotoxy(10,13);textcolor(YELLOW);
    printf("Error.Rectifica posici¢n...");getch();getch();posicion=0;break;
  }
 if(win==2)
 ULTIMO();
 }
}


void CAR()
{
  gotoxy(1,19);textcolor(WHITE);printf("Cargando Juego...\n");
  for(y=1;y<60;y++)
  {
   gotoxy(y,20);textcolor(YELLOW);printf("°");
  }

  for(x=1;x<11;x++)
  {
   for(y=1;y<1500;y++)
    {
    gotoxy(x,20);textcolor(YELLOW);printf("Û");
    }
   z=z+1;
  }

  for(x=10;x<60;x++)
  {
   for(y=1;y<50;y++)
    {
     gotoxy(x,20);printf("Û");
    }
   z=z+1;
  }
}

void CHECAR()
{
switch(usuario)
  {
   case 1:if(cat[0][0]==1 && posicion==1 || cat[0][1]==1 &&posicion==2 ||
        cat[0][2]==1 && posicion==3 || cat[1][0]==1 &&posicion==4 ||
        cat[1][1]==1 && posicion==5 || cat[1][2]==1 &&posicion==6 ||
        cat[2][0]==1 && posicion==7 || cat[2][1]==1 &&posicion==8 ||
        cat[2][2]==1 && posicion==9)
        {posicion=0;usuario=1;}
        break;
   case 2:if(cat[0][0]==1 && posicion==1 || cat[0][1]==1 &&posicion==2 ||
        cat[0][2]==1 && posicion==3 || cat[1][0]==1 &&posicion==4 ||
        cat[1][1]==1 && posicion==5 || cat[1][2]==1 &&posicion==6 ||
        cat[2][0]==1 && posicion==7 || cat[2][1]==1 &&posicion==8 ||
        cat[2][2]==1 && posicion==9)
        {posicion=0;usuario=2;}
        break;
  }
}

void USUARIOS()
{
if(usuario==1)
  {
   if(posicion==1 && CAT[0][0]!='O')
   {CAT[0][0]='X';cat[0][0]=1;}
   if(posicion==2 && CAT[0][1]!='O')
   {CAT[0][1]='X';cat[0][1]=1;}
   if(posicion==3 && CAT[0][2]!='O')
   {CAT[0][2]='X';cat[0][2]=1;}
   if(posicion==4 && CAT[1][0]!='O')
   {CAT[1][0]='X';cat[1][0]=1;}
   if(posicion==5 && CAT[1][1]!='O')
   {CAT[1][1]='X';cat[1][1]=1;}
   if(posicion==6 && CAT[1][2]!='O')
   {CAT[1][2]='X';cat[1][2]=1;}
   if(posicion==7 && CAT[2][0]!='O')
   {CAT[2][0]='X';cat[2][0]=1;}
   if(posicion==8 && CAT[2][1]!='O')
   {CAT[2][1]='X';cat[2][1]=1;}
   if(posicion==9 && CAT[2][2]!='O')
   {CAT[2][2]='X';cat[2][2]=1;}
   usuario=0;
   }
if(usuario==2)
  {
   if(posicion==1 && CAT[0][0]!='X')
   {CAT[0][0]='O';cat[0][0]=1;}
   if(posicion==2 && CAT[0][1]!='X')
   {CAT[0][1]='O';cat[0][1]=1;}
   if(posicion==3 && CAT[0][2]!='X')
   {CAT[0][2]='O';cat[0][2]=1;}
   if(posicion==4 && CAT[1][0]!='X')
   {CAT[1][0]='O';cat[1][0]=1;}
   if(posicion==5 && CAT[1][1]!='X')
   {CAT[1][1]='O';cat[1][1]=1;}
   if(posicion==6 && CAT[1][2]!='X')
   {CAT[1][2]='O';cat[1][2]=1;}
   if(posicion==7 && CAT[2][0]!='X')
   {CAT[2][0]='O';cat[2][0]=1;}
   if(posicion==8 && CAT[2][1]!='X')
   {CAT[2][1]='O';cat[2][1]=1;}
   if(posicion==9 && CAT[2][2]!='X')
   {CAT[2][2]='O';cat[2][2]=1;}
  usuario=0;
  }
}

void GANADOR()
{

if(CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='X'||
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='X'||
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='X'||
   CAT[0][0]=='X'&& CAT[1][1]=='X'&& CAT[2][2]=='X'||
   CAT[0][2]=='X'&& CAT[1][1]=='X'&& CAT[2][0]=='X'||
   CAT[0][0]=='X'&& CAT[1][0]=='X'&& CAT[2][0]=='X'||
   CAT[0][2]=='X'&& CAT[1][2]=='X'&& CAT[2][2]=='X'||
   CAT[0][1]=='X'&& CAT[1][1]=='X'&& CAT[2][1]=='X')
 {
 gotoxy(1,20);textcolor(GREEN);printf("\n\nEl ganador es el jugador n£mero uno !!!\n");
 win=2;posicion=10;
 }

if(CAT[0][0]=='O'&& CAT[0][1]=='O'&& CAT[0][2]=='O'||
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='O'||
   CAT[2][0]=='O'&& CAT[2][1]=='O'&& CAT[2][2]=='O'||
   CAT[0][0]=='O'&& CAT[1][1]=='O'&& CAT[2][2]=='O'||
   CAT[0][2]=='O'&& CAT[1][1]=='O'&& CAT[2][0]=='O'||
   CAT[0][0]=='O'&& CAT[1][0]=='O'&& CAT[2][0]=='O'||
   CAT[0][2]=='O'&& CAT[1][2]=='O'&& CAT[2][2]=='O'||
   CAT[0][1]=='O'&& CAT[1][1]=='O'&& CAT[2][1]=='O')
 {
 gotoxy(1,20);textcolor(RED);printf("\n\nEl ganador es el jugador n£mero dos !!!\n");
 win=2;posicion=10;
 }

if(CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='O'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='O'&& CAT[1][2]=='O'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='X'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='X'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='O'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='O'&& CAT[1][2]=='O'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='O'&& CAT[1][2]=='O'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='O'&&
   CAT[2][0]=='O'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='O'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='X'&& CAT[2][2]=='O'||

   CAT[0][0]=='O'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='O'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='X'||

   CAT[0][0]=='O'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='X'&& CAT[1][1]=='X'&& CAT[1][2]=='O'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='X'||

   CAT[0][0]=='X'&& CAT[0][1]=='X'&& CAT[0][2]=='O'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='X'&& CAT[2][1]=='O'&& CAT[2][2]=='O'||

   CAT[0][0]=='X'&& CAT[0][1]=='O'&& CAT[0][2]=='X'&&
   CAT[1][0]=='O'&& CAT[1][1]=='X'&& CAT[1][2]=='X'&&
   CAT[2][0]=='O'&& CAT[2][1]=='X'&& CAT[2][2]=='O' )

 {
 gotoxy(1,20);textcolor(LIGHTCYAN);printf("\n\nEl juego est  indefinido....\n");win=2;posicion=10;
 }
}

void POSICIONES()
{
textcolor(YELLOW);
gotoxy(25,15);printf ("        ³    ³    \n");
gotoxy(25,16);printf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
gotoxy(25,17);printf ("        ³    ³    \n");
gotoxy(25,18);printf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
gotoxy(25,19);printf ("        ³    ³    \n");

gotoxy(30,15);if(CAT[0][0]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[0][0]);
gotoxy(35,15);if(CAT[0][1]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[0][1]);
gotoxy(40,15);if(CAT[0][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[0][2]);
gotoxy(30,17);if(CAT[1][0]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][0]);
gotoxy(35,17);if(CAT[1][1]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][1]);
gotoxy(40,17);if(CAT[1][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[1][2]);
gotoxy(30,19);if(CAT[2][0]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][0]);
gotoxy(35,19);if(CAT[2][1]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][1]);
gotoxy(40,19);if(CAT[2][2]=='X')textcolor(GREEN);else textcolor(RED);printf("%c",CAT[2][2]);
}

void USU()
{
  textbackground(BLUE);
  clrscr();
  textcolor(YELLOW+128);printf("                         ­ ­ G   A   T   O ! !   \n");
  textcolor(WHITE);
  gotoxy(1,2);printf("Tabla de Posiciones:\n");
  gotoxy(1,3);printf("Instrucciones.Elija su posici¢n y presione dos veces Enter <ÄÄÙ.\n");
  gotoxy(1,4);printf ("                             1  ³ 2  ³ 3  \n");
  gotoxy(1,5);printf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
  gotoxy(1,6);printf ("                             4  ³ 5  ³ 6  \n");
  gotoxy(1,7);printf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");
  gotoxy(1,8);printf ("                             7  ³ 8  ³ 9  \n");
  gotoxy(1,9);printf("Modo:Usuario Vs Usuario.\n\n");
  gotoxy(1,10);printf("             JUGADOR 1:[   ]               JUGADOR 2: [   ] \n");
  gotoxy(26,10);textcolor(GREEN);printf("X\n");
  gotoxy(57,10);textcolor(RED);printf("O\n");
   usuario=1;contador=5;

   while(posicion<=9)
    {
       while(win!=2)
    {
     textcolor(WHITE);gotoxy(15,12);printf("      Usuario [ ], qu‚ posici¢n desea?\n",usuario);
     if(usuario==1){gotoxy(30,12);textcolor(GREEN);printf("1");}
     if(usuario==2){gotoxy(30,12);textcolor(RED);printf("2");}
     textcolor(WHITE);gotoxy(20,13);printf("[ ]");
     gotoxy(21,13);scanf("%d",&posicion);
     CHECAR();
       if(posicion>=1 && posicion<=9)
         {
      USUARIOS();
      POSICIONES();
      GANADOR();
         while(contador>1)
         {
          contador=contador-2;
          usuario=usuario+1;
         }
      if(usuario==2)
      contador=3;
      if(usuario==1)
      contador=5;
          }
       else
      printf("Rectifica posici¢n.Tira de nuevo...\n");getch();
      gotoxy(15,13);printf("           ");
      gotoxy(1,14);printf("                                    ");
    }
    }
 textcolor(WHITE);gotoxy(1,24);printf("Finalizando Secuencia de Gato... Modo: Usuario Vs Usuario.");
 for(x=1;x<81;x++)
 {
 gotoxy(x,25);printf(".");
 }
 gotoxy(59,23);
}


void main ()
{
 op=0;
 while(op<=2)
 {
  textbackground(BLUE);
  clrscr();
  textcolor(YELLOW+128);
  gotoxy(28,1);printf("­ ­ ­ ­ ­ THE CAT GAME ! ! ! ! !\n");
  textcolor(WHITE);
  gotoxy(1,3);printf("Prototipo del Juego del Gato.Elija la opci¢n que desee realizar:\n");
  gotoxy(1,4);printf("1.-Usuario Vs Usuario.\n");
  gotoxy(1,5);printf("2.-CPU Vs Usuario.\n");
  gotoxy(1,6);printf("3.-SALIR.\n");
  gotoxy(1,7);printf("Ejecutar opci¢n [ ]\n");
  gotoxy(18,7);scanf("%d",&op);
  switch(op)
   {
   case 1:CAR();for(x=0;x<3;x++){for(y=0;y<3;y++)cat
  • [y]=0;}
      for(x=0;x<3;x++){for(y=0;y<3;y++)CAT
  • [y]=' ';}
      posicion=0;win=0;USU();getch();break;

   case 2:CAR();for(x=0;x<3;x++){for(y=0;y<3;y++)CAT
  • [y]=' ';}
      posicion=0;win=0;CPU();getch();break;

   case 3:SALIDA();getch();break;

   default:op=0;printf("Opci¢n no v lida...\n");getch();break;
   }
 }
}
---------------------------------------espero q me ayuden no importa el q sea me sirve el chiste es entregar i me podrian expricar xq falla y como lo arreglo si son tan amabres .


Título: Re: Ayuda con el juego del gato
Publicado por: 0xDani en 20 Mayo 2012, 12:31 pm
Bueno yo seguramente todavia no tengo nivel para responderte :-[, pero llevo ya un tiempo preguntando en este foro, y te voy a dar unos consejos para que sea + facil responderte:

1.-Cuando pongas code, utiliza el botoncito de arriba, el k tiene dos simbolos "<>".
2.-Pon el error que te da el compilador, sino sera imposible localizar el/los errores.
3.-Expon brevemente lo que quieres conseguir con ese code.

Saludos ;D

PD:Suerte y k lo resuelvas pronto.


Título: Re: Ayuda con el juego del gato
Publicado por: k3r00t en 20 Mayo 2012, 18:49 pm
De verdad que es muy difícil que pongas un código así y alguien venga y te diga todos los errores, pero en las primeras lineas de código pude notar que cometiste el siguiente error:

Le estas pasando al procedimiento imprimir_tablero una matriz llamada gato:

Código:
imprimir_tablero(char gato[MAX_FILA][MAX_COLUM])

y luego realizas la siguiente comparación:

Código:
if((gato[j]=='X')||(gato[j]=='O'))

La condición esta intentado comparar un vector "gato" que en realidad es una matriz.

Me imagino que ese error se te repetirá muchas veces.

Otra cosa, cuando usas prototipos es porque vas a colocar las funciones al final de tu código, si las vas a colocar arriba no es necesario, saludos.


Título: Re: Ayuda con el juego del gato
Publicado por: Dieux Rablia en 20 Mayo 2012, 18:59 pm
es q no me marca error x esa parte en la primer codigo me marca erro x son 6 "char" y en segundo codigo son errores x el "textcolor" y el "textblackgruond" y son mas son 26  :(