Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 8a)
- typedef struct
- {
- char rank, suit;
- }card_t;
- int main(void)
- {
- card_t deck[52];
- return 0;
- }
- 8b)
- void initDeck(card_t deck[])
- {
- char suit[] = {'C', 'D', 'H', 'S'};
- char rank[] = {'2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'};
- int i, j, k = 0;
- for(i = 0; i < 4; i++)
- {
- for(j = 0; j < 13; j++)
- {
- deck[k].rank = rank[j];
- deck[k].suit = suit[i];
- k++;
- }
- }
- }
- void printDeck(card_t deck[])
- {
- int i = 0;
- while(i < 52)
- {
- printf("%c%c ", deck[i].suit, deck[i].rank);
- i++;
- if(i%12 == 0)
- printf("\n");
- }
- }
- 8c)
- void shuffleDeck(card_t deck[])
- {
- int i;
- int rnum, temp;
- srand(time(NULL));
- for(i = 0; i < 52; i++)
- {
- rnum = rand()%52;
- /* Swap */
- temp = deck[i];
- deck[i] = deck[rnum];
- deck[rnum] = temp;
- }
- }
- 8d)
- int computePoints(card_t deck[])
- {
- int i, points = 0;
- int suit[4] = {0}; //Order of C, D, H, S
- for(i = 0; i < 13; i++)
- {
- switch(deck[i].suit)
- {
- case 'C':
- suit[0]++;
- break;
- case 'D':
- suit[1]++;
- break;
- case 'H':
- suit[2]++;
- break;
- case 'S':
- suit[3]++;
- break;
- }
- }
- for(i = 0; i < 4; i++)
- {
- if(suit[i] == 0)
- points += 3;
- else if(suit[i] == 1)
- points += 2;
- else if(suit[i] == 2)
- points += 1;
- }
- return points;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement