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
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 .