Advertisement
Guest User

Untitled

a guest
May 27th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <ctime>
  4. #include <
  5. using namespace std;
  6.  
  7. class Card
  8. {
  9. private:
  10. int value;
  11. string name;
  12. string color;
  13. public:
  14. Card(int v, string n, string c):value(v),name(n),color(c) {}
  15. int getValue()
  16. {
  17. return value;
  18. }
  19. string getName()
  20. {
  21. return name;
  22. }
  23. string getColor()
  24. {
  25. return color;
  26. }
  27. friend ostream& operator<<(ostream& strumien, Card c)
  28. {
  29. strumien<<c.getName()<<" "<<c.getColor();
  30. return strumien;
  31. }
  32. };
  33.  
  34. class Talia
  35. {
  36. private:
  37. vector<Card> talia;
  38. public:
  39. void add(Card c) //dodawania karty do talii
  40. {
  41. talia.push_back(c);
  42. }
  43. Card popCard() //wyciąganie karty z talii
  44. {
  45. srand(time(0));
  46. int index = rand()%talia.size();
  47. Card tmp = talia[index];
  48. talia[index] = talia.back();
  49. talia.pop_back();
  50. return tmp;
  51. }
  52. void createFull()
  53. {
  54. string kolory[4]={"kier","karo","pik","trefl"};
  55. string figury[13]={"2","3","4","5","6","7","8","9","10","Walet","Dama","Krol","As"}; //można by tu dla 2-10 użyć sstream, ale nie chce mieszać
  56. for (int i=0;i<4;i++)
  57. {
  58. for (int j=0;j<9;j++) //2-10
  59. {
  60. Card tmp(j+2,figury[j],kolory[i]); //generujemy kartę
  61. talia.push_back(tmp); //dodajemy do talii
  62. }
  63. for (int j=9;j<12;j++) //walet, dama, krol
  64. {
  65. Card tmp(j-7,figury[j],kolory[i]); //generujemy kartę
  66. talia.push_back(tmp); //dodajemy do talii
  67. }
  68. Card tmp(11,figury[12],kolory[i]); //as
  69. talia.push_back(tmp); //dodajemy do talii
  70. }
  71. }
  72. int getValue() //funkcja zwraca wartość wszystkich kart w talii
  73. {
  74. int sum = 0;
  75. for (int i =0; i<talia.size();i++)
  76. sum+=talia[i].getValue();
  77. return sum;
  78. }
  79. bool empty() const
  80. {
  81. return talia.empty();
  82. }
  83. };
  84.  
  85. int main()
  86. {
  87. Talia talia, gracz1, gracz2;
  88. talia.createFull();
  89. // i może robić na przykład
  90. gracz1.add(talia.popCard());
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement