Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5.  
  6. int amountOfGames() {
  7. int gameNumber;
  8.  
  9. cout << "How many games would you like to play? ";
  10. cin >> gameNumber;
  11.  
  12. return gameNumber;
  13. }
  14.  
  15. char returnCard() {
  16. char deck[] = { 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K' };
  17.  
  18. int randomNum = rand() % 13;
  19. cout << randomNum << endl;
  20. return deck[randomNum];
  21. }
  22.  
  23. bool dealerBust(int total) {
  24. if (total > 21) {
  25. return true;
  26. }
  27. else {
  28. return false;
  29. }
  30. }
  31.  
  32. int cardValue(char cardChar) {
  33. switch (cardChar) {
  34. case 'A': return 1;
  35. break;
  36. case '2': return 2;
  37. break;
  38. case '3': return 3;
  39. break;
  40. case '4': return 4;
  41. break;
  42. case '5': return 5;
  43. break;
  44. case '6': return 6;
  45. break;
  46. case '7': return 7;
  47. break;
  48. case '8': return 8;
  49. break;
  50. case '9': return 9;
  51. break;
  52. case '10': return 10;
  53. break;
  54. case 'J': return 10;
  55. break;
  56. case 'Q': return 10;
  57. break;
  58. case 'K': return 10;
  59. break;
  60. default: return 0;
  61. break;
  62. }
  63. }
  64.  
  65. int main() {
  66. int gameNumber = amountOfGames();
  67. int playerTotal, dealerTotal;
  68. int playedGames = 0;
  69. bool didDealerBust = false;
  70. bool dealerHasAce = false;
  71. bool playerHasAce = false;
  72. bool didPlayerBust = false;
  73. bool keepPulling = true;
  74. char pulledCard, userInput;
  75. srand(time(NULL));
  76. do {
  77. pulledCard = returnCard();
  78. if (pulledCard == 'A')
  79. dealerHasAce = true;
  80. cout << "Dealer's first card: " << pulledCard << endl;
  81. dealerTotal = cardValue(pulledCard);
  82.  
  83. pulledCard = returnCard();
  84. if (pulledCard == 'A')
  85. playerHasAce = true;
  86. cout << "Your first card: " << pulledCard << endl;
  87. playerTotal = cardValue(pulledCard);
  88. pulledCard = returnCard();
  89. if (pulledCard == 'A')
  90. playerHasAce = true;
  91. cout << "Your second card: " << pulledCard << endl;
  92. playerTotal = cardValue(pulledCard) + playerTotal;
  93.  
  94. cout << "Current dealer total: " << dealerTotal << endl;
  95. cout << "Current player total: " << playerTotal << endl;
  96.  
  97. do {
  98. cout << "Would you like another card? (Y/N): ";
  99. cin >> userInput;
  100. if (userInput == 'y' || userInput == 'Y') {
  101. pulledCard = returnCard();
  102. if (pulledCard == 'A')
  103. playerHasAce = true;
  104. cout << "Your next card: " << pulledCard << endl;
  105. playerTotal = cardValue(pulledCard) + playerTotal;
  106. cout << "New player total: " << playerTotal << endl;
  107.  
  108. if (playerTotal > 21) {
  109. keepPulling = false;
  110. didPlayerBust = true;
  111. cout << "You busted! Next game start." << endl;
  112. }
  113. }
  114. else if (userInput == 'n' || userInput == 'N') {
  115. keepPulling = false;
  116.  
  117. if (playerHasAce && playerTotal <=11){
  118. playerTotal = playerTotal + 10;
  119. }
  120. cout << "User stays at " << playerTotal << endl;
  121. }
  122. } while (keepPulling == true);
  123.  
  124. if (didPlayerBust == false) {
  125. do {
  126. if (pulledCard == 'A')
  127. dealerHasAce = true;
  128. cout << "Dealer's next card: " << pulledCard << endl;
  129. dealerTotal = cardValue(pulledCard) + dealerTotal;
  130. cout << "New dealer total: " << dealerTotal << endl;
  131.  
  132. if (dealerHasAce && (dealerTotal > 6 && dealerTotal < 12)) {
  133. dealerTotal = dealerTotal + 10;
  134. cout << "New dealer total: " << dealerTotal << endl;
  135. }
  136. didDealerBust = dealerBust(dealerTotal);
  137. } while (dealerTotal < 17 || didDealerBust == false);
  138. }
  139. playedGames++;
  140. } while (playedGames < gameNumber);
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement