fork download
  1. #include <vector>
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <string>
  5. #include <time.h>
  6.  
  7. using namespace std;
  8.  
  9.  
  10. class Deck
  11. {
  12. private:
  13. vector<int> deck;
  14. int size;
  15. void pop_off(int);
  16. public:
  17. void setSize(int s){ size = s; }
  18. int getSize(){ return size; }
  19. void setDeck();
  20. int drawRandomCard();
  21. int drawSpecificCard(int);
  22. };
  23.  
  24. void Deck::pop_off(int index)
  25. {
  26. int temp;
  27. temp = deck[deck.size() - 1];
  28. deck[deck.size() - 1] = deck[index];
  29. deck[index] = temp;
  30. deck.pop_back();
  31. }
  32. void Deck::setDeck()
  33. {
  34. for (int i = 0; i < size; i++)
  35. deck.push_back(i);
  36. }
  37. int Deck::drawRandomCard()
  38. {
  39. int rindex, rcard;
  40.  
  41. rindex = rand() % deck.size();
  42. rcard = deck[rindex];
  43. pop_off(rindex);
  44.  
  45. return rcard;
  46. }
  47. int Deck::drawSpecificCard(int index)
  48. {
  49. int card;
  50. card = deck[index];
  51. pop_off(index);
  52.  
  53. return card;
  54. }
  55.  
  56.  
  57. class Card
  58. {
  59. protected:
  60. int value;
  61. string face;
  62. string suit;
  63. public:
  64. void setCard(int);
  65. int getCardValue(){ return value; }
  66. string getCardFace(){ return face; }
  67. string getCardSuit(){ return suit; }
  68. bool getCardSide();
  69. void turnCard();
  70. };
  71.  
  72. void Card::setCard(int index)
  73. {
  74. int cardValue[13] = { 2, 3, 4, 5, 6, 7, 8, 9, 0, 10, 10, 10, 1 };
  75. value = cardValue[index % 13];
  76.  
  77. string cardFace[13] = { "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Ace" };
  78. face = cardFace[index % 13];
  79.  
  80. string cardSuit[4] = { " of Hearts", " of Clubs", " of Diamonds", " of Spades" };
  81. if (index <= 12) { suit = cardSuit[0];}
  82. else if (index <= 25) { suit = cardSuit[1];}
  83. else if (index <= 38) { suit = cardSuit[2];}
  84. else if (index <= 51) { suit = cardSuit[3];}
  85. }
  86.  
  87.  
  88. class Player
  89. {
  90. private:
  91. string name;
  92. int money;
  93. Card hand [3];
  94. static int playerNumber;
  95. public:
  96. Player(){ playerNumber++; }
  97. void setName(string n){ name = n; }
  98. string getName(){ return name; }
  99. void setMoney(int m){ money = m; }
  100. int getMoney(){ return money; }
  101. void setHand(Card [],Deck);
  102. Card* getHand();
  103. int handValue();
  104. };
  105. int Player::playerNumber = 0;
  106. void Player::setHand(Card cards[],Deck deck)
  107. {
  108. for (int i = 0; i < 3; i++)
  109. {
  110. cards[i].setCard(deck.drawRandomCard());
  111. hand[i] = cards[i];
  112. }
  113. }
  114. Card* Player::getHand()
  115. {
  116. return hand;
  117. }
  118.  
  119. void names(Player& player, Player& house);
  120. int betting(Player player, Player house, int&);
  121. int dealing(Player player, Player house);
  122. int whoWins(Player player, Player house);
  123.  
  124. void main()
  125. {
  126. srand(unsigned(time(0)));
  127. Card cards[3];
  128. Card* ptr;
  129. Deck deck;
  130. Player house;
  131. Player player;
  132. int howMuch = 0;
  133.  
  134.  
  135. names(player, house);
  136.  
  137.  
  138. if (betting(player, house, howMuch) == 1)
  139. {
  140. player.setHand(cards,deck);
  141. ptr = player.getHand();
  142. }
  143. for (int i = 0; i < 3; i++)
  144. {
  145. cout << ptr[i].getCardFace() << ptr[i].getCardSuit();
  146. }
  147. // playercards.setCard(halfDeck.drawRandomCard());
  148. // cout << playercards.getCardFace() << playercards.getCardSuit() << endl;
  149.  
  150. }
  151.  
  152. void names(Player& player, Player& house)
  153. {
  154. string name;
  155. int money;
  156.  
  157.  
  158. cout << "What is your name?: ";
  159. getline(cin, name);
  160. player.setName(name);
  161.  
  162. cout << "How much money do you have to gamble with: ";
  163. cin >> money;
  164. player.setMoney(money);
  165.  
  166. house.setName("House");
  167. house.setMoney(money + 1);
  168. }
  169.  
  170.  
  171. int betting(Player player, Player house, int& howMuch)
  172. {
  173.  
  174. cout << "How much would you like do bet?: ";
  175. cin >> howMuch;
  176.  
  177. while (howMuch > player.getMoney())
  178. {
  179. cout << "You do not have that much. Try Again. How much would you like do bet?: ";
  180. cin >> howMuch;
  181. }
  182.  
  183. if (howMuch == 0)
  184. {
  185. cout << " You cannot bet 0 sorry";
  186. return 0;
  187. }
  188. else 1;
  189. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:124:11: error: '::main' must return 'int'
 void main()
           ^
stdout
Standard output is empty