void InicialitzarCartes (tCarta *cartes) {
int k;
for (k=0;k<MAX_NUM_CARTES;k++){
cartes[k].num = 1 + k%12;
cartes[k].pal = 1 + k%4;
}
}
void BarrejarCartes (tCarta *cartes) {
int i, j;
tCarta temp;
// Inicializar el generador de números aleatorios
srand ((int)time(NULL));
// Intercambiar cartas
for (i = 0; i < MAX_NUM_CARTES; i++) {
j = rand() % MAX_NUM_CARTES;
temp = cartes[i];
cartes[i] = cartes[j];
cartes[j] = temp;
} /* Fi de for */
}
tPila *GenerarPilaCartas(void) {
int i, k;
tPila *auxPila;
tCarta *carta;
tCarta cartes[48]; //Array auxiliar.
InicialitzarCartes(cartes);
BarrejarCartes(cartes);
auxPila = IniciarPila();
for(k = 0; k < MAX_NUM_CARTES; k++) {
carta = &cartes[k];
i = Empilar (&auxPila, carta);
}
return auxPila;
}