1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define PACK 52
#define CARD 6
void shuffle(char deck[PACK][CARD]);
void swap(char *a, char *b);
void print(char deck[PACK][CARD]);
int main()
{
char deck[PACK][CARD] =
{"pik_A", "pik_K", "pik_Q", "pik_J", "pik_0", "pik_9", "pik_8", "pik_7", "pik_6", "pik_5", "pik_4", "pik_3", "pik_2",
"kie_A", "kie_K", "kie_Q", "kie_J", "kie_0", "kie_9", "kie_8", "kie_7", "kie_6", "kie_5", "kie_4", "kie_3", "kie_2",
"tre_A", "tre_K", "tre_Q", "tre_J", "tre_0", "tre_9", "tre_8", "tre_7", "tre_6", "tre_5", "tre_4", "tre_3", "tre_2",
"kar_A", "kar_K", "kar_Q", "kar_J", "kar_0", "kar_9", "kar_8", "kar_7", "kar_6", "kar_5", "kar_4", "kar_3", "kar_2"};
print(deck);
shuffle(deck);
printf("\nAfter shuffle:\n");
print(deck);
return 0;
}
void shuffle(char deck[PACK][CARD])
{
srand((unsigned int)time(NULL));
for (int i = PACK - 1; i > 0; i--)
{
int index = rand() % (i + 1);
swap(deck[i], deck[index]);
}
}
void swap(char *a, char *b)
{
char temp[CARD];
strcpy(temp, a);
strcpy(a, b);
strcpy(b, temp);
}
void print(char deck[PACK][CARD])
{
for (int i = 0; i < PACK; i++)
{
if((i % 13) == 0) // Print as 4 rows to fit on screen.
printf("\n");
printf("%s ", deck[i]);
}
printf("\n");
}
|