[ Foro de C++ ]

Disculpen Es un Juego de memoria pero necesito que la matriz solo saque parejas y no mas de las que deveria, necesito ayuda

11-Oct-2020 03:33
Invitado (Marvin)
0 Respuestas

#include <stdio.h>  
#include <windows.h>
#include <conio.h>
#include<iostream>
#include <stdlib.h>
#include <fstream>
#include <string.h>
#include<time.h>

using namespace std;

void gotoxy(int x,int y){  
     HANDLE hcon;  
     hcon = GetStdHandle(STD_OUTPUT_HANDLE);  
     COORD dwPos;  
     dwPos.X = x;  
     dwPos.Y= y;  
     SetConsoleCursorPosition(hcon,dwPos);  
}  




void  linea(int x,int y,int l,int d)
{
int b;
gotoxy(x,y);
if(d==1)

{
for(b=0;b<l;b++)
{
gotoxy(x+b,y);
printf("-");

}
}
else if(d==2)
{

for(b=0;b<l;b++)
{
gotoxy(x,y+b);
printf("-");
}
}

}





void  puntage(int x,int y,int l,int d)
{
int b;
gotoxy(x,y);
if(d==1)

{
for(b=0;b<l;b++)
{

printf("-");

}
}
else if(d==2)
{

for(b=0;b<l;b++)
{
gotoxy(x,y+b);
printf("%c",179);
}
}

}


void inicio()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{

printf ("?  -  ");
}
printf("\n\n\n");
printf("\n                 -  ");
}
}


void llenarmat(char mat[6][4],char mat2[6][4])
{
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
mat[i][j]=rand()%25+65;
mat2[i][j]='?';
}

}

}

void impmat(char mat[6][4])
{  


for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
printf ("%c  -  ",mat[i][j]);

}
printf("\n\n\n");
printf("\n                 -  ");
}

}

bool ver(char mat[6][4],char mat2[6][4], int f,int c,int f2,int c2)
{
int x1,x2,y1,y2;
int aux,aux2;
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
       if(i==f && j==c)
{
x1=i;
y1=j;
aux=mat[i][j];
printf ("%c  -  ",mat[i][j]);


}else if (i==f2 && j==c2)
{  

x2=i;
y2=j;
aux2=mat[i][j];
printf ("%c  -  ",mat[i][j]);

}else
{
printf ("?  -  ");
}
}printf("\n\n\n");
printf("\n                 -  ");
}
if(aux==aux2)
{
mat2[x1][y1]=mat[x1][y1];
mat2[x2][y2]=mat[x2][y2];
gotoxy(60,7);printf("ACERTASTE \n");
return true;
} else
{  
   gotoxy(60,7);printf("FALLASTE \n");
return false;
}
}


void coor()
{    
   gotoxy(14,7);printf("-");
gotoxy(12,8);printf("Y");
gotoxy(14,11);printf("0");
gotoxy(14,15);printf("1");
gotoxy(14,19);printf("2");
gotoxy(14,23);printf("3");
gotoxy(15,6);printf("X");
gotoxy(20,7);printf("0");
gotoxy(26,7);printf("1");
gotoxy(32,7);printf("2");
gotoxy(38,7);printf("3");
gotoxy(44,7);printf("4");
gotoxy(50,7);printf("5");


}





main ()
{ int f,f2,c,c2, punt=0;


   linea(11,5,43,1);
   
    linea(11,9,43,1);
linea(11,13,43,1);
linea(11,17,43,1);
linea(11,21,43,1);
linea(11,25,43,1);
linea(17,6,20,2);
linea(11,6,20,2);
linea(23,6,20,2);
linea(29,6,20,2);
linea(35,6,20,2);
linea(41,6,20,2);
linea(47,6,20,2);
linea(53,6,20,2);



char mat[6][4];
char mat2[6][4];





gotoxy(20,11);inicio();
coor();
Sleep(1000);
llenarmat(mat,mat2);

   
coor();
gotoxy(20,11);impmat(mat);
coor();
Sleep(2000);

gotoxy(20,11);inicio();coor();


while(punt<500){coor();





gotoxy(17,27); printf("ingrese la primera posicion x,y: ");
printf("\n");
gotoxy(51,27);scanf("%i*",&c);
gotoxy(54,27);scanf("%i",&f);
gotoxy(17,28);printf("ingrese la segunda posicion x,y: ");
gotoxy(51,28);scanf("%i",&c2);
gotoxy(54,28);scanf("%i",&f2);


gotoxy(20,11); if (ver(mat,mat2,f,c,f2,c2)==true)
{
punt=punt+100;
}
gotoxy(60,6);printf("Tu puntaje es: %i\n",punt);

                coor();

getch();                     // si pones
gotoxy(20,11);impmat(mat2);





coor();

    getch();

gotoxy(51,27);printf ("        ");
gotoxy(51,28);printf ("        ");

//system("cls");
}
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)