Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In C Programming code: Write a program that allows a user to play 5-Card-Draw Po

ID: 3705796 • Letter: I

Question

In C Programming code: Write a program that allows a user to play 5-Card-Draw Poker against the computer. Start with the following example code supplied by Deitel & Deitel (example code). This will help you get started with the game of Poker. Please read this site to learn the rules of Poker http://en.wikipedia.org/wiki/5_card_draw. Complete the following step and you will have a working Poker game!!! Adapted from Deitel & Deitel’s C How to Program (6th Edition): (1) In order to complete the game of 5-card-draw poker, you should complete the following functions: (a) (5 pts) Modify the card dealing function provided in the example code so that a five-card poker hand is dealt. (b) (5 pts) Write a function to determine if the hand contains a pair. (c) (5 pts) Write a function to determine if the hand contains two pairs. (d) (5 pts) Write a function to determine if the hand contains three of a kind (e.g. three jacks). (e) (5 pts) Write a function to determine if the hand contains four of a kind (e.g. four aces). (f) (5 pts) Write a function to determine if the hand contains a flush (i.e. all five cards of the same suit). (g) (5 pts) Write a function to determine if the hand contains a straight (i.e. five cards of consecutive face values). (2) (20 pts) Use the functions developed in (1) to deal two five-card poker hands, evaluate each hand, and determine which is the better hand. (3) (25 pts) Simulate the dealer. The dealer's five-card hand is dealt "face down" so the player cannot see it. The program should then evaluate the dealer's hand, and based on the quality of the hand, the dealer should draw one, two, or three more cards to replace the corresponding number of unneeded cards in the original hand. The program should then re-evaluate the dealer's hand. (4) (10 pts) Make the program handle the dealer's five-card hand automatically. The player should be allowed to decide which cards of the player's hand to replace. The program should then evaluate both hands and determine who wins. Now use the program to play 10 games against the computer. You should be able to test and modify or refine your Poker game based on these results!

Explanation / Answer

#include #include #include typedef struct card { int card_number; int face_index; int suit_index; } Card; void shuffle(int wDeck[4][13]); void deal(int wDeck[][13], Card p_hand[5]); void print_hand(char *face[4], char *suit[13], Card p1_hand[5]); static void print_deck(int deck[4][13]); int main (void) { char *suit[4] = {"Hearts", "Diamonds", "Clubs", "Spades"}; char *face[13] = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"}; int deck[4][13] = { { 0 } }; Card p1_hand[5] = {{0,0,0}}; srand ((unsigned) time (NULL)); printf("Shuffle "); shuffle(deck); print_deck(deck); printf("Deal player "); deal(deck, p1_hand); printf("Print player's hand "); print_hand(face, suit, p1_hand); return 0; } static void print_deck(int deck[4][13]) { for (int x = 0; x < 4; x++) { for (int z = 0; z < 13; z++) printf(" %2d", deck[x][z]); putchar(' '); } } void shuffle(int wDeck[4][13]) { int row = 0; int column = 0; int card = 0; for (card = 1; card