You are on page 1of 10

/*

UNIVERSIDAD AUTONOMA DEL ESTADO DE HIDALGO


INSTITUTO DE CIENCIAS EXACTAS
LIC. SISTEMAS COMPUTACIONALES
PROGRAMACION II
PROGRAMA:"JUEGO DEL GATO"
ALUMNO:ESPINOZA LOPEZ RAUL
CATEDRATICO:ING. ISMAEL MENESES MONROY
FECHA DE ENTREGA:2-JUNIO-2000
*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void ocupada(void);
void noexiste(void);
main ()
{
int opc1,opc2,opc3,opc4,opc5,opc6,opc7,opc8,opc9;
int a,i,j;
int bandera;
int matrizocupada[3][3];
matrizocupada[1][1]=0;matrizocupada[2][1]=0;matrizocupada[3][1]=0;
matrizocupada[1][2]=0;matrizocupada[2][2]=0;matrizocupada[3][2]=0;
matrizocupada[1][3]=0;matrizocupada[2][3]=0;matrizocupada[3][3]=0;
/*Tablero*/
textbackground(9);
clrscr();
for (i=1;i<=10;i++)
{gotoxy (18,2+i);printf ("");}
for (i=1;i<=10;i++)
{gotoxy (28,2+i);printf ("");}
for (i=1;i<=25;i++)
{gotoxy (10+i,10);printf ("");}
for (i=1;i<=25;i++)
{gotoxy (10+i,6);printf ("");}
gotoxy (18,10);printf ("");gotoxy (18,6);printf ("");
gotoxy (28,6); printf ("");gotoxy (28,10);printf ("");
gotoxy (17,5); printf ("1");gotoxy (27,5);printf ("2");
gotoxy (36,5); printf ("3");gotoxy (17,9);printf ("4");
gotoxy (27,9); printf ("5");gotoxy (36,9);printf ("6");
gotoxy (17,13);printf ("7");gotoxy (27,13);printf ("8");
gotoxy (36,13);printf ("9");gotoxy (20,1);printf("TABLERO");
gotoxy (50,3); printf (" CASILLAS DISPONIBLES ");gotoxy(0,20);
for (i=1;i<=79;i++)
{gotoxy (i,20);printf ("");}
gotoxy (50,7);printf(" Usuario 1: X");
gotoxy (50,8);printf(" Usuario 2: O");
gotoxy (30,20);printf (" ZONA DE MENSAJES ");gotoxy (51,5);
/*Fin de Tablero*/
do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 1: ");
scanf ("%d",&opc1);
switch (opc1)
{

case 1:{gotoxy(14,4);printf("X");
matrizocupada[1][1]=1;
break;}
case 2:{gotoxy(23,4);printf("X");
matrizocupada[1][2]=1;
break;}
case 3:{gotoxy(32,4);printf("X");
matrizocupada[1][3]=1;
break;}
case 4:{gotoxy(14,8);printf("X");
matrizocupada[2][1]=1;
break;}
case 5:{gotoxy(23,8);printf("X");
matrizocupada[2][2]=1;
break;}
case 6:{gotoxy(32,8);printf("X");
matrizocupada[2][3]=1;
break;}
case 7:{gotoxy(14,12);printf("X");
matrizocupada[3][1]=1;
break;}
case 8:{gotoxy(23,12);printf("X");
matrizocupada[3][2]=1;
break;}
case 9:{gotoxy(32,12);printf("X");
matrizocupada[3][3]=1;
break;}
default:noexiste();bandera=1;
}
}while (bandera==1);
do
{
bandera=0;
gotoxy(15,22);printf("
gotoxy(15,22);printf(" Elige una casilla Usuario 2: ");
scanf ("%d",&opc2);
if (opc2!=opc1)
{
switch (opc2)
{
case 1:{gotoxy(14,4);printf("O");
matrizocupada[1][1]=2;
break;}
case 2:{gotoxy(23,4);printf("O");
matrizocupada[1][2]=2;
break;}
case 3:{gotoxy(32,4);printf("O");
matrizocupada[1][3]=2;
break;}
case 4:{gotoxy(14,8);printf("O");
matrizocupada[2][1]=2;
break;}
case 5:{gotoxy(23,8);printf("O");
matrizocupada[2][2]=2;
break;}
case 6:{gotoxy(32,8);printf("O");
matrizocupada[2][3]=2;
break;}

");

case 7:{gotoxy(14,12);printf("O");
matrizocupada[3][1]=2;
break;}
case 8:{gotoxy(23,12);printf("O");
matrizocupada[3][2]=2;
break;}
case 9:{gotoxy(32,12);printf("O");
matrizocupada[3][3]=2;
break;}
default:noexiste();bandera=1;
}
}
else{ocupada();bandera=1;}
}while (bandera==1);

do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 1: ");
scanf ("%d",&opc3);
if (opc3!=opc2&&opc3!=opc1)
{
switch (opc3)
{
case 1:{gotoxy(14,4);printf("X");
matrizocupada[1][1]=1;
break;}
case 2:{gotoxy(23,4);printf("X");
matrizocupada[1][2]=1;
break;}
case 3:{gotoxy(32,4);printf("X");
matrizocupada[1][3]=1;
break;}
case 4:{gotoxy(14,8);printf("X");
matrizocupada[2][1]=1;
break;}
case 5:{gotoxy(23,8);printf("X");
matrizocupada[2][2]=1;
break;}
case 6:{gotoxy(32,8);printf("X");
matrizocupada[2][3]=1;
break;}
case 7:{gotoxy(14,12);printf("X");
matrizocupada[3][1]=1;
break;}
case 8:{gotoxy(23,12);printf("X");
matrizocupada[3][2]=1;
break;}
case 9:{gotoxy(32,12);printf("X");
matrizocupada[3][3]=1;
break;}
default:noexiste();bandera=1;
}
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==1&&matrizocupada[1][2]==1&&matrizocupada[1][3]==1||matr
izocupada[2][1]==1
&&matrizocupada[2][2]==1&&matrizocupada[2][3]==1||matrizocupada[3][1]==1&&mat

rizocupada[3][2]==1
&&matrizocupada[3][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][1]==1&&mat
rizocupada[3][1]==1
||matrizocupada[1][2]==1&&matrizocupada[2][2]==1&&matrizocupada[3][2]==1||mat
rizocupada[1][3]==1
&&matrizocupada[2][3]==1&&matrizocupada[3][3]==1||matrizocupada[3][1]==1&&mat
rizocupada[2][2]==1
&&matrizocupada[1][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][2]==1&&mat
rizocupada[3][3]==1)
{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 1
******");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/
}
else{ocupada();bandera=1;}
}while (bandera==1);

do
{
bandera=0;
gotoxy(15,22);printf("
gotoxy(15,22);printf(" Elige una casilla Usuario 2: ");
scanf ("%d",&opc4);
if (opc4!=opc3&&opc4!=opc2&&opc4!=opc1)
{
switch (opc4)
{
case 1:{gotoxy(14,4);printf("O");
matrizocupada[1][1]=2;
break;}
case 2:{gotoxy(23,4);printf("O");
matrizocupada[1][2]=2;
break;}
case 3:{gotoxy(32,4);printf("O");
matrizocupada[1][3]=2;
break;}
case 4:{gotoxy(14,8);printf("O");
matrizocupada[2][1]=2;
break;}
case 5:{gotoxy(23,8);printf("O");
matrizocupada[2][2]=2;
break;}
case 6:{gotoxy(32,8);printf("O");
matrizocupada[2][3]=2;
break;}
case 7:{gotoxy(14,12);printf("O");
matrizocupada[3][1]=2;
break;}
case 8:{gotoxy(23,12);printf("O");
matrizocupada[3][2]=2;
break;}
case 9:{gotoxy(32,12);printf("O");
matrizocupada[3][3]=2;
break;}
default:noexiste();bandera=1;
}

");

}
else{ocupada();bandera=1;}
}while (bandera==1);
do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 1: ");
scanf ("%d",&opc5);
if (opc5!=opc4&&opc5!=opc3&&opc5!=opc2&&opc5!=opc1)
{
switch (opc5)
{
case 1:{gotoxy(14,4);printf("X");
matrizocupada[1][1]=1;
break;}
case 2:{gotoxy(23,4);printf("X");
matrizocupada[1][2]=1;
break;}
case 3:{gotoxy(32,4);printf("X");
matrizocupada[1][3]=1;
break;}
case 4:{gotoxy(14,8);printf("X");
matrizocupada[2][1]=1;
break;}
case 5:{gotoxy(23,8);printf("X");
matrizocupada[2][2]=1;
break;}
case 6:{gotoxy(32,8);printf("X");
matrizocupada[2][3]=1;
break;}
case 7:{gotoxy(14,12);printf("X");
matrizocupada[3][1]=1;
break;}
case 8:{gotoxy(23,12);printf("X");
matrizocupada[3][2]=1;
break;}
case 9:{gotoxy(32,12);printf("X");
matrizocupada[3][3]=1;
break;}
default:noexiste();bandera=1;
}
}
else{ocupada();bandera=1;}
}while (bandera==1);
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==1&&matrizocupada[1][2]==1&&matrizocupada[1][3]==1||matr
izocupada[2][1]==1
&&matrizocupada[2][2]==1&&matrizocupada[2][3]==1||matrizocupada[3][1]==1&&mat
rizocupada[3][2]==1
&&matrizocupada[3][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][1]==1&&mat
rizocupada[3][1]==1
||matrizocupada[1][2]==1&&matrizocupada[2][2]==1&&matrizocupada[3][2]==1||mat
rizocupada[1][3]==1
&&matrizocupada[2][3]==1&&matrizocupada[3][3]==1||matrizocupada[3][1]==1&&mat
rizocupada[2][2]==1
&&matrizocupada[1][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][2]==1&&mat
rizocupada[3][3]==1)

{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 1
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/

******");

do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 2: ");
scanf ("%d",&opc6);
if (opc6!=opc5&&opc6!=opc4&&opc6!=opc3&&opc6!=opc2&&opc6!=opc1)
{
switch (opc6)
{
case 1:{gotoxy(14,4);printf("O");
matrizocupada[1][1]=2;
break;}
case 2:{gotoxy(23,4);printf("O");
matrizocupada[1][2]=2;
break;}
case 3:{gotoxy(32,4);printf("O");
matrizocupada[1][3]=2;
break;}
case 4:{gotoxy(14,8);printf("O");
matrizocupada[2][1]=2;
break;}
case 5:{gotoxy(23,8);printf("O");
matrizocupada[2][2]=2;
break;}
case 6:{gotoxy(32,8);printf("O");
matrizocupada[2][3]=2;
break;}
case 7:{gotoxy(14,12);printf("O");
matrizocupada[3][1]=2;
break;}
case 8:{gotoxy(23,12);printf("O");
matrizocupada[3][2]=2;
break;}
case 9:{gotoxy(32,12);printf("O");
matrizocupada[3][3]=2;
break;}
default:noexiste();bandera=1;
}
}
else{ocupada();bandera=1;}
}while (bandera==1);
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==2&&matrizocupada[1][2]==2&&matrizocupada[1][3]==2||matr
izocupada[2][1]==2
&&matrizocupada[2][2]==2&&matrizocupada[2][3]==2||matrizocupada[3][1]==2&&mat
rizocupada[3][2]==2
&&matrizocupada[3][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][1]==2&&mat
rizocupada[3][1]==2
||matrizocupada[1][2]==2&&matrizocupada[2][2]==2&&matrizocupada[3][2]==2||mat
rizocupada[1][3]==2

&&matrizocupada[2][3]==2&&matrizocupada[3][3]==2||matrizocupada[3][1]==2&&mat
rizocupada[2][2]==2
&&matrizocupada[1][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][2]==2&&mat
rizocupada[3][3]==2
||matrizocupada[3][3]==2&&matrizocupada[3][1]==2&&matrizocupada[3][2]==2)
{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 2
******");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/
do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 1: ");
scanf ("%d",&opc7);
if (opc7!=opc6&&opc7!=opc5&&opc7!=opc4&&opc7!=opc3&&opc7!=opc2&&opc7!=opc1)
{
switch (opc7)
{
case 1:{gotoxy(14,4);printf("X");
matrizocupada[1][1]=1;
break;}
case 2:{gotoxy(23,4);printf("X");
matrizocupada[1][2]=1;
break;}
case 3:{gotoxy(32,4);printf("X");
matrizocupada[1][3]=1;
break;}
case 4:{gotoxy(14,8);printf("X");
matrizocupada[2][1]=1;
break;}
case 5:{gotoxy(23,8);printf("X");
matrizocupada[2][2]=1;
break;}
case 6:{gotoxy(32,8);printf("X");
matrizocupada[2][3]=1;
break;}
case 7:{gotoxy(14,12);printf("X");
matrizocupada[3][1]=1;
break;}
case 8:{gotoxy(23,12);printf("X");
matrizocupada[3][2]=1;
break;}
case 9:{gotoxy(32,12);printf("X");
matrizocupada[3][3]=1;
break;}
default:noexiste();bandera=1;
}
}
else{ocupada();bandera=1;}
}while (bandera==1);
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==2&&matrizocupada[1][2]==2&&matrizocupada[1][3]==2||matr
izocupada[2][1]==2
&&matrizocupada[2][2]==2&&matrizocupada[2][3]==2||matrizocupada[3][1]==2&&mat

rizocupada[3][2]==2
&&matrizocupada[3][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][1]==2&&mat
rizocupada[3][1]==2
||matrizocupada[1][2]==2&&matrizocupada[2][2]==2&&matrizocupada[3][2]==2||mat
rizocupada[1][3]==2
&&matrizocupada[2][3]==2&&matrizocupada[3][3]==2||matrizocupada[3][1]==2&&mat
rizocupada[2][2]==2
&&matrizocupada[1][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][2]==2&&mat
rizocupada[3][3]==2)
{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 2
******");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/
do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 2: ");
scanf ("%d",&opc8);
if (opc8!=opc7&&opc8!=opc6&&opc8!=5&&opc8!=opc4&&opc8!=opc3&&opc8!=opc2&&opc8!=
opc1)
{
switch (opc8)
{
case 1:{gotoxy(14,4);printf("O");
matrizocupada[1][1]=2;
break;}
case 2:{gotoxy(23,4);printf("O");
matrizocupada[1][2]=2;
break;}
case 3:{gotoxy(32,4);printf("O");
matrizocupada[1][3]=2;
break;}
case 4:{gotoxy(14,8);printf("O");
matrizocupada[2][1]=2;
break;}
case 5:{gotoxy(23,8);printf("O");
matrizocupada[2][2]=2;
break;}
case 6:{gotoxy(32,8);printf("O");
matrizocupada[2][3]=2;
break;}
case 7:{gotoxy(14,12);printf("O");
matrizocupada[3][1]=2;
break;}
case 8:{gotoxy(23,12);printf("O");
matrizocupada[3][2]=2;
break;}
case 9:{gotoxy(32,12);printf("O");
matrizocupada[3][3]=2;
break;}
default:noexiste();bandera=1;
}
}

else{ocupada();bandera=1;}
}while (bandera==1);
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==2&&matrizocupada[1][2]==2&&matrizocupada[1][3]==2||matr
izocupada[2][1]==2
&&matrizocupada[2][2]==2&&matrizocupada[2][3]==2||matrizocupada[3][1]==2&&mat
rizocupada[3][2]==2
&&matrizocupada[3][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][1]==2&&mat
rizocupada[3][1]==2
||matrizocupada[1][2]==2&&matrizocupada[2][2]==2&&matrizocupada[3][2]==2||mat
rizocupada[1][3]==2
&&matrizocupada[2][3]==2&&matrizocupada[3][3]==2||matrizocupada[3][1]==2&&mat
rizocupada[2][2]==2
&&matrizocupada[1][3]==2||matrizocupada[1][1]==2&&matrizocupada[2][2]==2&&mat
rizocupada[3][3]==2)
{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 2
******");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/
do
{
bandera=0;
gotoxy(15,22);printf("
");
gotoxy(15,22);printf(" Elige una casilla Usuario 1: ");
scanf ("%d",&opc9);
if (opc9!=opc8&&opc9!=opc7&&opc9!=opc6&&opc9!=5&&opc9!=opc4&&opc9!=opc3&&opc9!=
opc2&&opc9!=opc1)
{
switch (opc9)
{
case 1:{gotoxy(14,4);printf("X");
matrizocupada[1][1]=1;
break;}
case 2:{gotoxy(23,4);printf("X");
matrizocupada[1][2]=1;
break;}
case 3:{gotoxy(32,4);printf("X");
matrizocupada[1][3]=1;
break;}
case 4:{gotoxy(14,8);printf("X");
matrizocupada[2][1]=1;
break;}
case 5:{gotoxy(23,8);printf("X");
matrizocupada[2][2]=1;
break;}
case 6:{gotoxy(32,8);printf("X");
matrizocupada[2][3]=1;
break;}
case 7:{gotoxy(14,12);printf("X");
matrizocupada[3][1]=1;
break;}
case 8:{gotoxy(23,12);printf("X");
matrizocupada[3][2]=1;
break;}
case 9:{gotoxy(32,12);printf("X");
matrizocupada[3][3]=1;

break;}
default:noexiste();bandera=1;
}
}
else{ocupada();bandera=1;}
}while (bandera==1);
/*DEBE IR AQUI CONDICION DE GANE*/
if(matrizocupada[1][1]==1&&matrizocupada[1][2]==1&&matrizocupada[1][3]==1||matr
izocupada[2][1]==1
&&matrizocupada[2][2]==1&&matrizocupada[2][3]==1||matrizocupada[3][1]==1&&mat
rizocupada[3][2]==1
&&matrizocupada[3][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][1]==1&&mat
rizocupada[3][1]==1
||matrizocupada[1][2]==1&&matrizocupada[2][2]==1&&matrizocupada[3][2]==1||mat
rizocupada[1][3]==1
&&matrizocupada[2][3]==1&&matrizocupada[3][3]==1||matrizocupada[3][1]==1&&mat
rizocupada[2][2]==1
&&matrizocupada[1][3]==1||matrizocupada[1][1]==1&&matrizocupada[2][2]==1&&mat
rizocupada[3][3]==1)
{
gotoxy(15,22);printf("******
EXISTE GANADOR:
USUARIO 1
******");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();exit(0);
}
/*DEBE FINALIZAR CONDICION DE GANE DENTRO DEL IF*/
/*DEBE IR ELSE SI NADIE GANO*/
else
{
gotoxy(15,22);printf("******
NO EXISTE GANADOR (GATO)
******")
;
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();
}
/*FINALIZAR ELSE*/
getche();
return 0;
}
void ocupada()
{
gotoxy(15,22);printf("Procedimiento no valido... Casilla Ocupada");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();
gotoxy(15,22);printf("
;
gotoxy(23,23);printf("
");
}
void noexiste()
{
gotoxy(15,22);printf("Procedimiento no valido... Casilla Inexistente");
gotoxy(23,23);printf("Presiona ENTER para continuar");
getche();gotoxy(15,22);printf("
");
gotoxy(23,23);printf("
");
}

")

You might also like