#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int x,y;
int mer1=0;
int mer2=0;
int par1=0;
int par2=0;
int par3=0;
int par4=0;
int par5=0;
int par6=0;
int par7=0;
int par8=0;
int par9=0;
int par10=0;
int matrix[20];
int z1;//liberador
int tot;
main()
{ textbackground(0);
textcolor(14);
gotoxy(25,1);
cprintf("PROGRAMA QUE JUEGA MEMORAMA..."); for(y=1;y<=20;y++)
{ matrix[y]=0;
}
/*gotoxy(1,1);
printf("%d",matrix[20]);*/ textbackground(1);
for(y=4;y<=22;y++)
{ for(x=15;x<=65;x++)
{ gotoxy(x,y);cprintf(" "); }
}
textbackground(0);
for(y=8;y<=18;y=y+5)
{ for(x=15;x<=65;x++)
{ gotoxy(x,y);cprintf(" "); } //divisiones
}
for(x=25;x<=55;x=x+10)
{ for(y=4;y<=23;y++)
{ gotoxy(x,y);cprintf(" "); }
}
do
{/************************/
textbackground(1);textcolor(12);
if(par1!=2)
{ gotoxy(20,6);cprintf("1"); }
if(par2!=2)
{ gotoxy(30,6);cprintf("2"); }
if(par3!=2)
{ gotoxy(40,6);cprintf("3"); }
if(par4!=2)
{ gotoxy(50,6);cprintf("4"); }
if(par5!=2)
{ gotoxy(60,6);cprintf("5"); }
/******************/
if(par6!=2)
{ gotoxy(20,11);cprintf("6"); }
if(par7!=2)
{ gotoxy(30,11);cprintf("7"); }
if(par5!=2)
{ gotoxy(40,11);cprintf("8"); }
if(par8!=2)
{ gotoxy(50,11);cprintf("9"); }
if(par9!=2)
{ gotoxy(60,11);cprintf("10"); }
/**********************************************************/
if(par4!=2)
{ gotoxy(20,16);cprintf("11"); }
if(par8!=2)
{ gotoxy(30,16);cprintf("12"); }
if(par9!=2)
{ gotoxy(40,16);cprintf("13"); }
if(par10!=2)
{ gotoxy(50,16);cprintf("14"); }
if(par7!=2)
{ gotoxy(60,16);cprintf("15"); }
/***************************/
if(par10!=2)
{ gotoxy(20,21);cprintf("16"); }
if(par1!=2)
{ gotoxy(30,21);cprintf("17"); }
if(par3!=2)
{ gotoxy(40,21);cprintf("18"); }
if(par2!=2)
{ gotoxy(50,21);cprintf("19"); }
if(par6!=2)
{ gotoxy(60,21);cprintf("20"); }
/*****************************************************/
textbackground(0);textcolor(5);gotoxy(2,2);
cprintf("NUMERO A BUSCAR 1: "); do
{ gotoxy(21,2);scanf("%d",&mer1); gotoxy(21,2);printf(" "); }while((mer1<1||mer1>20)||(matrix[mer1]!=0));
/**********************************************/
textbackground(1);textcolor(10);
if(mer1==1)
{ matrix[1]=1;par1=par1+1;gotoxy(20,6);
cprintf(""); //2
}
if(mer1==2)
{ matrix[2]=1;par2=par2+1;gotoxy(30,6); //5
cprintf("");
}
if(mer1==3)
{ matrix[3]=1;par3=par3+1;gotoxy(40,6); //4
cprintf("");
}
if(mer1==4)
{ matrix[4]=1;par4=par4+1;gotoxy(50,6);
cprintf(""); //14
}
if(mer1==5)
{ matrix[5]=1;par5=par5+1;gotoxy(60,6); //6
cprintf("");
}
if(mer1==6)
{ matrix[6]=1;par6=par6+1;gotoxy(20,11); //1
cprintf("");
}
if(mer1==7)
{ matrix[7]=1;par7=par7+1;gotoxy(30,11); //16
cprintf("");
}
if(mer1==8)
{ matrix[8]=1;par5=par5+1;gotoxy(40,11); //6
cprintf("");
}
if(mer1==9)
{ matrix[9]=1;par8=par8+1;gotoxy(50,11); //11
cprintf("");
}
if(mer1==10)
{ matrix[10]=1;par9=par9+1;gotoxy(60,11); //12
cprintf(" ");
}
/************************************************/
if(mer1==11)
{ matrix[11]=1;par4=par4+1;gotoxy(20,16); //14
cprintf(" ");
}
if(mer1==12)
{ matrix[12]=1;par8=par8+1;gotoxy(30,16); //11
cprintf(" ");
}
if(mer1==13)
{ matrix[13]=1;par9=par9+1;gotoxy(40,16); //12
cprintf(" ");
}
if(mer1==14)
{ matrix[14]=1;par10=par10+1;gotoxy(50,16); //13
cprintf(" ");
}
if(mer1==15)
{ matrix[15]=1;par7=par7+1;gotoxy(60,16); //16
cprintf(" ");
}
if(mer1==16)
{ matrix[16]=1;par10=par10+1;gotoxy(20,21); //13
cprintf(" ");
}
if(mer1==17)
{ matrix[17]=1;par1=par1+1;gotoxy(30,21); //12
cprintf(" ");
}
if(mer1==18)
{ matrix[18]=1;par3=par3+1;gotoxy(40,21); //4
cprintf(" ");
}
if(mer1==19)
{ matrix[19]=1;par2=par2+1;gotoxy(50,21);
cprintf(" "); //5
}
if(mer1==20)
{ matrix[20]=1;par6=par6+1;gotoxy(60,21); //1
cprintf(" ");
}
/***************************************************************************/
textbackground(0);textcolor(5);gotoxy(2,3);
cprintf("NUMERO A BUSCAR 2: "); do
{ gotoxy(21,3);scanf("%d",&mer2); gotoxy(21,3);printf(" "); }while((mer2<1||mer2>20)||(matrix[mer2]!=0));
/***************************************************/
textbackground(1);textcolor(10);
if(mer2==1)
{ matrix[1]=1;par1=par1+1;gotoxy(20,6);
cprintf(""); //2
}
if(mer2==2)
{ matrix[2]=1;par2=par2+1;gotoxy(30,6); //5
cprintf("");
}
if(mer2==3)
{ matrix[3]=1;par3=par3+1;gotoxy(40,6); //4
cprintf("");
}
if(mer2==4)
{ matrix[4]=1;par4=par4+1;gotoxy(50,6);
cprintf(""); //14
}
if(mer2==5)
{ matrix[5]=1;par5=par5+1;gotoxy(60,6); //6
cprintf("");
}
if(mer2==6)
{ matrix[6]=1;par6=par6+1;gotoxy(20,11); //1
cprintf("");
}
if(mer2==7)
{ matrix[7]=1;par7=par7+1;gotoxy(30,11); //16
cprintf("");
}
if(mer2==8)
{ matrix[8]=1;par5=par5+1;gotoxy(40,11); //6
cprintf("");
}
if(mer2==9)
{ matrix[9]=1;par8=par8+1;gotoxy(50,11); //11
cprintf("");
}
if(mer2==10)
{ matrix[10]=1;par9=par9+1;gotoxy(60,11); //12
cprintf(" ");
}
/************************************************/
if(mer2==11)
{ matrix[11]=1;par4=par4+1;gotoxy(20,16); //14
cprintf(" ");
}
if(mer2==12)
{ matrix[12]=1;par8=par8+1;gotoxy(30,16); //11
cprintf(" ");
}
if(mer2==13)
{ matrix[13]=1;par9=par9+1;gotoxy(40,16); //12
cprintf(" ");
}
if(mer2==14)
{ matrix[14]=1;par10=par10+1;gotoxy(50,16); //13
cprintf(" ");
}
if(mer2==15)
{ matrix[15]=1;par7=par7+1;gotoxy(60,16); //16
cprintf(" ");
}
if(mer2==16)
{ matrix[16]=1;par10=par10+1;gotoxy(20,21); //13
cprintf(" ");
}
if(mer2==17)
{ matrix[17]=1;par1=par1+1;gotoxy(30,21); //12
cprintf(" ");
}
if(mer2==18)
{ matrix[18]=1;par3=par3+1;gotoxy(40,21); //4
cprintf(" ");
}
if(mer2==19)
{ matrix[19]=1;par2=par2+1;gotoxy(50,21);
cprintf(" "); //5
}
if(mer2==20)
{ matrix[20]=1;par6=par6+1;gotoxy(60,21); //1
cprintf(" ");
}
/**************************************************/
tot=tot+1; //incrementando cuantas jugadas va
while(x<=1500)
{ gotoxy(1,1);
printf(" "); x=x+1;
}
x=1;
if(par1==2)
{ matrix[1]=2;
matrix[17]=2;
}
else
{ par1=0;
}
if(par2==2)
{ matrix[2]=2;
matrix[19]=2;
}
else
{ par2=0;
}
if(par3==2)
{ matrix[3]=2;
matrix[18]=2;
}
else
{ par3=0;
}
if(par4==2)
{ matrix[4]=2;
matrix[11]=2;
}
else
{ par4=0;
}
if(par5==2)
{ matrix[5]=2;
matrix[8]=2;
}
else
{ par5=0;
}
/**********************************************/
if(par6==2)
{ matrix[6]=2;
matrix[20]=2;
}
else
{ par6=0;
}
if(par7==2)
{ matrix[7]=2;
matrix[15]=2;
}
else
{ par7=0;
}
if(par8==2)
{ matrix[9]=2;
matrix[12]=2;
}
else
{ par8=0;
}
if(par9==2)
{ matrix[10]=2;
matrix[13]=2;
}
else
{ par9=0;
}
if(par10==2)
{ matrix[14]=2;
matrix[16]=2;
}
else
{ par10=0;
}
/**********************************/
for(x=1;x<=20;x++)
{ if(matrix[x]==1)
{
matrix[x]=0;
}
}
y=1;
y=par1+par2+par3+par4+par5+par6+par7+par8+par9+par10;
textbackground(0);
textcolor(10);
if(y==20)
{ if(tot>=10&&tot<=15)
{ textcolor(14);
gotoxy(1,25);
cprintf("TIENES UNA EXELENTE MEMORIA, TERMINASTE EN %d JUGADAS!!",tot); }
if(tot>=15&&tot<=20)
{ textcolor(10);
gotoxy(1,25);
cprintf("TIENES UNA BUENA MEMORIA, TERMINASTE EN %d JUGADAS!!",tot); }
if(tot>=20&&tot<=25)
{ textcolor(8);
gotoxy(1,25);
cprintf("TIENES UNA REGULAR MEMORIA, TERMINASTE EN %d JUGADAS!!",tot); }
if(tot>=30)
{ textcolor(4);
gotoxy(2,25);
cprintf("TIENES MUY MALA MEMORIA, TERMINASTE EN %d JUGADAS!!",tot); }
textcolor(12);
gotoxy(62,25);
cprintf("FIN DEL JUEGO..."); x=-1;//adios
}
}while(x!=-1);
getch();
}