elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda! Duda de llenado aleatorio de matriz en: 11 Noviembre 2015, 02:38 am
Bueno, como dice el título tengo una duda de llenado aleatorio para una matriz, estaba trabajando en un juego de memoria para el colegio, pero se me ocurrió la idea de hacer la ubicación de las parejas o algo parecido aleatorio, estoy atascado y no sé qué hacer, este es el programa que hice:
Código:
#include<iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>

using namespace std;

#define ESC 27

struct estructura{
char simbolo;
char valor;

};
estructura matriz[4][4];

int parejas=0, f1,c1,f2,c2;
int x,y,i;
char opcion1;
int jugador;


void llenar(){//asignación de los valores de la mariz

matriz[0][0].valor = 'A' ;
    matriz[0][1].valor = 'B';
    matriz[0][2].valor = 'Z';
    matriz[0][3].valor = 'C';
    matriz[1][1].valor = 'E';
    matriz[1][0].valor = 'D';
    matriz[1][2].valor = 'Y';
    matriz[1][3].valor = 'P';
    matriz[2][2].valor = 'H';
    matriz[2][0].valor = 'K';
    matriz[2][1].valor = 'G';
    matriz[2][2].valor = 'H';
    matriz[2][3].valor = 'X';
matriz[3][0].valor = 'J';
    matriz[3][1].valor = 'M';
    matriz[3][2].valor = 'V';
    matriz[3][3].valor = 'U';


    matriz[0][0].simbolo = '%';
matriz[0][1].simbolo = '$';
matriz[0][2].simbolo = '#';
matriz[0][3].simbolo = 'X';
matriz[1][0].simbolo ='$';
matriz[1][1].simbolo = '&';
matriz[1][2].simbolo = 'W';
matriz[1][3].simbolo = '&';
matriz[2][0].simbolo = '*';
matriz[2][1].simbolo = '@';
matriz[2][2].simbolo = '#';
matriz[2][3].simbolo = '%';
matriz[3][0].simbolo = '@';
matriz[3][1].simbolo = 'W';
matriz[3][2].simbolo = '*';
matriz[3][3].simbolo = 'X';




}
void gotoxy(int col, int fil){
HANDLE hCon;
hCon = GetStdHandle (STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = col;
    dwPos.Y =fil;
SetConsoleCursorPosition (hCon, dwPos);

}
void cuadro(){ //decoracion
for (int i = 2; i<78; i++)
{
system ("color 3E");
   gotoxy(i,2); cout<<"*";
   gotoxy(i, 22); cout<<"*";
}
for (int i= 2; i<23;i++)
{
system ("color 3E");
gotoxy(2,i); cout<<"*";
     gotoxy(78,i); cout<<"*";
}
}
void mostrar(){//mostrar la matriz
system("color 33");
    gotoxy(34,5);
cout<<matriz[0][0].valor<<"  |  " <<matriz[0][1].valor<<"  |  "<<matriz[0][2].valor<<"  |  "<<matriz[0][3].valor<<endl;
    gotoxy(34,6);
  cout<<"-------------------"<<endl;
    gotoxy(34,7);
cout<<matriz[1][0].valor<<"  |  " <<matriz[1][1].valor<<"  |  "<<matriz[1][2].valor<<"  |  "<<matriz[1][3].valor<<endl;
    gotoxy(34,8);
  cout<<"-------------------"<<endl;
    gotoxy(34,9);
cout<<matriz[2][0].valor<<"  |  " <<matriz[2][1].valor<<"  |  "<<matriz[2][2].valor<<"  |  "<<matriz[2][3].valor<<endl;
    gotoxy(34,10);
  cout<<"-------------------"<<endl;
gotoxy(34,11);
cout<<matriz[3][0].valor<<"  |  " <<matriz[3][1].valor<<"  |  "<<matriz[3][2].valor<<"  |  "<<matriz[3][3].valor<<endl;

}

void jugar(){
for(i=1;i<=2;i++){
gotoxy (33,15);
cout<< " Elija la opcion : ";
cin>> opcion1;


if (opcion1 == 'A') {//determinacion de las parejas
x=0; y=0; gotoxy(34,5); cout << matriz[x][y].simbolo;
}
if (opcion1 == 'B') {
x=0; y=1; gotoxy(39,5); cout << matriz[x][y].simbolo;
}

       if (opcion1 == 'Z') {
x=0; y=2; gotoxy(44,5); cout << matriz[x][y].simbolo;
}

   if (opcion1 == 'C') {
x=0; y=3; gotoxy(49,5); cout << matriz[x][y].simbolo;
}
     if (opcion1 == 'D') {
x=1; y=0; gotoxy(34,7); cout << matriz[x][y].simbolo;
}
  if (opcion1 == 'E') {
x=1; y=1; gotoxy(39,7); cout << matriz[x][y].simbolo;
}
   if (opcion1 == 'Y') {
x=1; y=2; gotoxy(44,7); cout << matriz[x][y].simbolo;
}
     if (opcion1 == 'P') {
x=1; y=3; gotoxy(49,7); cout << matriz[x][y].simbolo;
}
   if (opcion1 == 'K') {
x=2; y=0; gotoxy(34,9); cout << matriz[x][y].simbolo;
}
    if (opcion1 == 'G') {
x=2; y=1; gotoxy(39,9); cout<<" "; cout << matriz[x][y].simbolo;
}
    if (opcion1 == 'H') {
x=2; y=2; gotoxy(44,9); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'X') {
x=2; y=3; gotoxy(49,9); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'J') {
x=3; y=0; gotoxy(34,11); cout<<" "; cout << matriz[x][y].simbolo;
}

if (opcion1 == 'M') {
x=3; y=1; gotoxy(39,11); cout<<" "; cout << matriz[x][y].simbolo;
}

            if (opcion1 =='V') {
x=3; y=2; gotoxy(44,11); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'U') {
x=3; y=3; gotoxy(49,11); cout<<" "; cout << matriz[x][y].simbolo;
}

if(i==1){
f1=x; c1=y;
}else
f2=x; c2=y;
}
if((f1==0 && c1==0) && (f2==2 && c2==3) ||(f2==0 && c2==0) && (f1==2 && c1==3)){
parejas= parejas+1;
matriz[0][0].valor=matriz[0][0].simbolo;
matriz[2][3].valor=matriz[2][3].simbolo;
}
if((f1==0 && c1==1) && (f2==1 && c2==0) ||(f2==0 && c2==1) && (f1==1 && c1==0)){
parejas= parejas+1;
matriz[0][1].valor=matriz[0][1].simbolo;
matriz[1][0].valor=matriz[1][0].simbolo;
}
if((f1==0 && c1==2) && (f2==2 && c2==2) ||(f2==0 && c2==2) && (f1==2 && c1==2)){
parejas= parejas+1;
matriz[0][2].valor=matriz[0][2].simbolo;
matriz[2][2].valor=matriz[2][2].simbolo;
}
if((f1==1 && c1==1) && (f2==1 && c2==3) ||(f2==1 && c2==3) && (f1==1 && c1==1)){
parejas= parejas+1;
matriz[1][1].valor=matriz[1][1].simbolo;
matriz[1][3].valor=matriz[1][3].simbolo;
}
if((f1==0 && c1==3) && (f2==3 && c2==3) ||(f2==0 && c2==3) && (f1==3 && c1==3)){
parejas= parejas+1;
matriz[0][3].valor=matriz[0][3].simbolo;
matriz[3][3].valor=matriz[3][3].simbolo;
}
if((f1==1 && c1==2) && (f2==3 && c2==1) ||(f2==1 && c2==2) && (f1==3 && c1==1)){
parejas= parejas+1;
matriz[1][2].valor=matriz[1][2].simbolo;
matriz[3][1].valor=matriz[3][1].simbolo;
}
if((f1==2 && c1==1) && (f2==3 && c2==0) ||(f2==2 && c2==1) && (f1==3 && c1==0)){
parejas= parejas+1;
matriz[2][1].valor=matriz[2][1].simbolo;
matriz[3][0].valor=matriz[3][0].simbolo;
}
if((f1==2 && c1==0) && (f2==3 && c2==2) ||(f2==2 && c2==0) && (f1==3 && c1==2)){
parejas= parejas+1;
matriz[2][0].valor=matriz[2][0].simbolo;
matriz[3][2].valor=matriz[3][2].simbolo;
}
}//ciclo






int main(){
    cuadro();
llenar();
do{
mostrar();
jugar();
gotoxy(34,17);
cout<<"Parejas descubiertas: "<<parejas;
}while(parejas<=8);
if(parejas==8){
cout<< "HAS GANADO";
}
getch();
}
Agradezco mucho la ayuda  :D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines