Download as:
Rating : ⭐⭐⭐⭐⭐
Price: $10.99
Language:EN
Pages: 4
Words: 894

Playertotal closes file fclose fclose return exit

//playHand() function
void playHand(FILE* cards, int* dealerWin, int* ranOut) {
   int card_points, player_points = 0, dealer_points = 0;
   //player gets first card
   card_points = getCard(cards, player_points);
   player_points += card_points;
   printf("Player plays first card. Player score:%d\n", player_points);
   //dealer gets first card
   card_points = getCard(cards, dealer_points);
   dealer_points += card_points;
   printf("Dealer plays first card. Dealer score:%d\n", dealer_points);
   //player gets second card
   card_points = getCard(cards, player_points);
   player_points += card_points;
   printf("Player plays second card. Player score:%d\n", player_points);
   //dealer gets second card
   card_points = getCard(cards, dealer_points);
   dealer_points += card_points;
   printf("Dealer plays second card. Dealer score:%d\n", dealer_points);
   //check if blackjack or not
   if (player_points == 21) {
       printf("Player has blackjack. Player score:%d\n", player_points);
       printf("Dealer looses. Dealer score:%d\n", dealer_points);
       *dealerWin = 0;
       return;
   }
   if (dealer_points == 21) {
       printf("Dealer has blackjack. Dealer score:%d\n", dealer_points);
       printf("Player looses. Player score:%d\n", player_points);
       *dealerWin = 1;
       return;
   }
   //player plays for more cards
   while ((card_points = getCard(cards, player_points)) == 0) {
       if (card_points == 0) //ran out of cards
               {
           printf("Ran out of cards. Hand ends.\n");
           *ranOut = 1;
           break;
       }
       if ((player_points + card_points) >= 16) //refuse card player points 16 or more
               {
           printf("Player refuses more cards. Player score:%d\n",
                   player_points);
           break;
       } else if ((player_points + card_points) > 21) //check if dealer wins
               {
           printf("Player looses. Player score:%d\n", player_points);
           printf("Dealer wins. Dealer score:%d\n", dealer_points);
           *dealerWin = 1; //dealer wins
           return; //ends the hand
       } else {
           player_points += card_points;
           printf("Player gets a card. Player score:%d\n", player_points);
       }
   }
   //dealer plays for more cards if player points are less than 21.
   if (player_points < 21) {

       while ((card_points = getCard(cards, dealer_points)) == 0) {
           if (card_points == 0) //ran out of cards
                   {
               printf("Ran out of cards. Hand ends.\n");
               *ranOut = 1;
               break;
           }
           if ((dealer_points + card_points) >= 17) //refuse card dealer points 16 or more
                   {
               printf("Dealer refuses more cards. Dealer score:%d\n",
                       dealer_points);
               break;
           } else if ((dealer_points + card_points) > 21) //check if player wins
                   {
               printf("Dealer looses. Dealer score:%d\n", dealer_points);
               printf("Player wins. Player score:%d\n", player_points);
               *dealerWin = 0; //player wins
               return; //ends the hand
           } else {
               dealer_points += card_points;
               printf("Dealer gets a card. Dealer score:%d\n", dealer_points);
           }
       }
   }
   //check if ran out of cards
   if (*ranOut == 1) {
       //check if there is a tie
       if (player_points == dealer_points)
           *dealerWin = 1; //in case of a tie, dealer wins
   }
}

Copyright © 2009-2023 UrgentHomework.com, All right reserved.