martes, 23 de noviembre de 2010

Programas con funciones

//Programa ordenacion burbuja de 10 elementos
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<iostream.h>

void burbuja(int *,const int);
void main()
{
    int i,a[10],n;
    gotoxy(15,5);
    printf("Cuantos numeros vas a ordenar: ");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("Dar valores:");
        scanf("%d",&a[i]);
    }
    burbuja(a,n);
    printf("\nLos datos ordenados en ascendente quedan:");
    for(i=0;i<n;i++)
    printf("%4d",a[i]);
    printf("\n");
    getch();
    }
void burbuja(int *array,const int n)
    {
    int i,j;
    void swap(int *,int *);
    for(j=0;j<n;j++)
    for(i=0;i<n-1;i++)
    if(array[i]>array[i+1])
    swap(&array[i],&array[i+1]);
    }
void swap(int *nodo1,int *nodo2)
{
    int temp;
    temp=*nodo1;
    *nodo1=*nodo2;
    *nodo2=temp;
}



//Juego del gato

#include <conio.h>
#include <iostream.h>
#include <stdio.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()

{

  gotoxy(1,24);cprintf("Finalizando Secuencia de Gato... Modo: CPU Vs Usuario.");

  for(x=1;x<81;x++)

  {

   gotoxy(x,25);cprintf(".");

  }

  gotoxy(55,23);

}



void DIBUJO()

{

 textcolor(YELLOW);

 gotoxy(25,15);cprintf ("        ³    ³    \n");

 gotoxy(25,16);cprintf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

 gotoxy(25,17);cprintf ("        ³    ³    \n");

 gotoxy(25,18);cprintf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

 gotoxy(25,19);cprintf ("        ³    ³    \n");

 gotoxy(30,15);textcolor(GREEN);cprintf("X");

}



void PRINTFS()

{

 gotoxy(35,15);if(CAT[0][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[0][1]);

 gotoxy(40,15);if(CAT[0][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[0][2]);

 gotoxy(30,17);if(CAT[1][0]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][0]);

 gotoxy(35,17);if(CAT[1][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][1]);

 gotoxy(40,17);if(CAT[1][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][2]);

 gotoxy(30,19);if(CAT[2][0]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][0]);

 gotoxy(35,19);if(CAT[2][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][1]);

 gotoxy(40,19);if(CAT[2][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][2]);

}



void POSICIONES2()

{

 DIBUJO();

 if (posicion==2){gotoxy(35,15);textcolor(RED);cprintf("O");}

 if (posicion==3){gotoxy(40,15);textcolor(RED);cprintf("O");}

 if (posicion==4){gotoxy(30,17);textcolor(RED);cprintf("O");}

 if (posicion==5){gotoxy(35,17);textcolor(RED);cprintf("O");}

 if (posicion==6){gotoxy(40,17);textcolor(RED);cprintf("O");}

 if (posicion==7){gotoxy(30,19);textcolor(RED);cprintf("O");}

 if (posicion==8){gotoxy(35,19);textcolor(RED);cprintf("O");}

 if (posicion==9){gotoxy(40,19);textcolor(RED);cprintf("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);cprintf("\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);cprintf("\n\nEl juego esta  indefinido....\n");getch();win=2;posicion=10;

  }

}



void JUGADA2()

{

 win=0;

  while(win<=1)

  {

  gotoxy(30,15);textcolor(GREEN);cprintf("X");CAT[0][0]='X';

  gotoxy(35,15);textcolor(RED);cprintf("O");CAT[0][1]='O';

  gotoxy(35,17);textcolor(GREEN);cprintf("X");CAT[1][1]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(40,15);textcolor(RED);cprintf("O");CAT[0][2]='O';

  gotoxy(30,17);textcolor(GREEN);cprintf("X");CAT[1][0]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(30,17);textcolor(RED);cprintf("O");CAT[1][0]='O';

  gotoxy(35,17);textcolor(GREEN);cprintf("X");CAT[1][1]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(35,17);textcolor(RED);cprintf("O");CAT[1][1]='O';

  gotoxy(30,19);textcolor(GREEN);cprintf("X");CAT[2][0]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(40,17);textcolor(RED);cprintf("O");CAT[1][2]='O';

  gotoxy(35,17);textcolor(GREEN);cprintf("X");CAT[1][1]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(30,19);textcolor(RED);cprintf("O");CAT[2][0]='O';

  gotoxy(35,15);textcolor(GREEN);cprintf("X");CAT[0][1]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(35,19);textcolor(RED);cprintf("O");CAT[2][1]='O';

  gotoxy(30,19);textcolor(GREEN);cprintf("X");CAT[2][0]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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);cprintf("X");CAT[0][0]='X';

  gotoxy(40,19);textcolor(RED);cprintf("O");CAT[2][2]='O';

  gotoxy(40,15);textcolor(GREEN);cprintf("X");CAT[0][2]='X';

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%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)

  {

 

  clrscr();

  textcolor(YELLOW+128);cprintf("                         ­ ­ G   A   T   O ! !   \n");

  textcolor(WHITE);

  gotoxy(1,2);cprintf("Tabla de Posiciones:\n");

  gotoxy(1,3);cprintf("Instrucciones.Elija su posici¢n y Presione Enter <ÄÄÙ.\n");

  gotoxy(1,4);cprintf ("                             1  ³ 2  ³ 3  \n");

  gotoxy(1,5);cprintf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄÄ \n");

  gotoxy(1,6);cprintf ("                             4  ³ 5  ³ 6  \n");

  gotoxy(1,7);cprintf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄÄ \n");

  gotoxy(1,8);cprintf ("                             7  ³ 8  ³ 9  \n");

  gotoxy(1,9);cprintf("Modo:CPU Vs Usuario.\n\n");

  gotoxy(1,10);cprintf("                  CPU :[   ]                 USUARIO :[   ] \n");

  gotoxy(26,10);textcolor(GREEN);cprintf("X");

  gotoxy(57,10);textcolor(RED);cprintf("O");

  DIBUJO();

  gotoxy(20,12);textcolor(WHITE);cprintf("Usuario,Elija posici¢n [   ].\n");

  gotoxy(45,12);textcolor(RED);cscanf("%d",&posicion);

  switch(posicion)

  {

  case 1:gotoxy(10,13);textcolor(YELLOW);

        cprintf("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);

        cprintf("Error.Rectifica posici¢n...");getch();getch();posicion=0;break;

  }

 if(win==2)

 ULTIMO();

 }

}





void CAR()

{

  gotoxy(1,19);textcolor(WHITE);cprintf("Cargando Juego...\n");

  for(y=1;y<60;y++)

  {

   gotoxy(y,20);textcolor(YELLOW);cprintf("°");

  }



  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);cprintf("\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);cprintf("\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);cprintf("\n\nEl juego est  indefinido....\n");win=2;posicion=10;

 }

}



void POSICIONES()

{

textcolor(YELLOW);

gotoxy(25,15);cprintf ("        ³    ³    \n");

gotoxy(25,16);cprintf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

gotoxy(25,17);cprintf ("        ³    ³    \n");

gotoxy(25,18);cprintf ("    ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

gotoxy(25,19);cprintf ("        ³    ³    \n");



gotoxy(30,15);if(CAT[0][0]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[0][0]);

gotoxy(35,15);if(CAT[0][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[0][1]);

gotoxy(40,15);if(CAT[0][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[0][2]);

gotoxy(30,17);if(CAT[1][0]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][0]);

gotoxy(35,17);if(CAT[1][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][1]);

gotoxy(40,17);if(CAT[1][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[1][2]);

gotoxy(30,19);if(CAT[2][0]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][0]);

gotoxy(35,19);if(CAT[2][1]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][1]);

gotoxy(40,19);if(CAT[2][2]=='X')textcolor(GREEN);else textcolor(RED);cprintf("%c",CAT[2][2]);

}



void USU()

{

 

  clrscr();

  textcolor(YELLOW+128);cprintf("                         ­ ­ G   A   T   O ! !   \n");

  textcolor(WHITE);

  gotoxy(1,2);cprintf("Tabla de Posiciones:\n");

  gotoxy(1,3);cprintf("Instrucciones.Elija su posici¢n y presione dos veces Enter <ÄÄÙ.\n");

  gotoxy(1,4);cprintf ("                             1  ³ 2  ³ 3  \n");

  gotoxy(1,5);cprintf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

  gotoxy(1,6);cprintf ("                             4  ³ 5  ³ 6  \n");

  gotoxy(1,7);cprintf ("                            ÄÄÄÄÅÄÄÄÄÅÄÄÄ \n");

  gotoxy(1,8);cprintf ("                             7  ³ 8  ³ 9  \n");

  gotoxy(1,9);cprintf("Modo:Usuario Vs Usuario.\n\n");

  gotoxy(1,10);cprintf("             JUGADOR 1:[   ]               JUGADOR 2: [   ] \n");

  gotoxy(26,10);textcolor(GREEN);cprintf("X\n");

  gotoxy(57,10);textcolor(RED);cprintf("O\n");

   usuario=1;contador=5;



   while(posicion<=9)

    {

       while(win!=2)

        {

         textcolor(WHITE);gotoxy(15,12);cprintf("      Usuario [ ], qu‚ posici¢n desea?\n",usuario);

         if(usuario==1){gotoxy(30,12);textcolor(GREEN);cprintf("1");}

         if(usuario==2){gotoxy(30,12);textcolor(RED);cprintf("2");}

         textcolor(WHITE);gotoxy(20,13);cprintf("[ ]");

         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);cprintf("Finalizando Secuencia de Gato... Modo: Usuario Vs Usuario.");

 for(x=1;x<81;x++)

 {

 gotoxy(x,25);cprintf(".");

 }

 gotoxy(59,23);

}





void main ()

{

 op=0;

 while(op<=2)

 {

  portada();

  clrscr();

  textcolor(YELLOW+128);

  gotoxy(28,1);cprintf("­ ­ ­ ­ ­ El GATO  ! ! ! ! !\n");

  textcolor(WHITE);

  gotoxy(1,3);cprintf("Prototipo del Juego del Gato.Elija la opci¢n que desee realizar:\n");

  gotoxy(1,4);cprintf("1.-Usuario Vs Usuario.\n");

  gotoxy(1,5);cprintf("2.-CPU Vs Usuario.\n");

  gotoxy(1,6);cprintf("3.-SALIR.\n");

  gotoxy(1,7);cprintf("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[x][y]=0;}

             for(x=0;x<3;x++){for(y=0;y<3;y++)CAT[x][y]=' ';}

             posicion=0;win=0;USU();getch();break;



   case 2:CAR();for(x=0;x<3;x++){for(y=0;y<3;y++)CAT[x][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;

   }

 }

}


 //Torres de Hanoi
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>

void hanoi(int n,int com, int aux, int fin);

void main(void){
    clrscr();
    char com='A';
    char aux='B';
    char fin='C';
    int n,p;

    printf("\nIntroduce el n£mero de discos: ");
    scanf("%d",&n);
    fflush(stdin);
   p=(pow(2,n)-1);
   printf("\n\nLos movimientos totales realizar son: %d\n",p);
    printf("\n\nLos movimientos a realizar son: \n");
    hanoi(n,com,aux,fin);
}

void hanoi(int n,int com, int aux, int fin){

    if(n==1){
        printf("%c->%c",com,fin);
    }
    else{
        hanoi(n-1,com,fin,aux);
        printf("\n%c->%c\n",com,fin);
        hanoi(n-1,aux,com,fin);
    }

  getch();
}
 




No hay comentarios:

Publicar un comentario