Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Dieux Rablia

#1
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  :(
#2
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 .