Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <ctime>
- #include <
- using namespace std;
- class Card
- {
- private:
- int value;
- string name;
- string color;
- public:
- Card(int v, string n, string c):value(v),name(n),color(c) {}
- int getValue()
- {
- return value;
- }
- string getName()
- {
- return name;
- }
- string getColor()
- {
- return color;
- }
- friend ostream& operator<<(ostream& strumien, Card c)
- {
- strumien<<c.getName()<<" "<<c.getColor();
- return strumien;
- }
- };
- class Talia
- {
- private:
- vector<Card> talia;
- public:
- void add(Card c) //dodawania karty do talii
- {
- talia.push_back(c);
- }
- Card popCard() //wyciąganie karty z talii
- {
- srand(time(0));
- int index = rand()%talia.size();
- Card tmp = talia[index];
- talia[index] = talia.back();
- talia.pop_back();
- return tmp;
- }
- void createFull()
- {
- string kolory[4]={"kier","karo","pik","trefl"};
- 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ć
- for (int i=0;i<4;i++)
- {
- for (int j=0;j<9;j++) //2-10
- {
- Card tmp(j+2,figury[j],kolory[i]); //generujemy kartę
- talia.push_back(tmp); //dodajemy do talii
- }
- for (int j=9;j<12;j++) //walet, dama, krol
- {
- Card tmp(j-7,figury[j],kolory[i]); //generujemy kartę
- talia.push_back(tmp); //dodajemy do talii
- }
- Card tmp(11,figury[12],kolory[i]); //as
- talia.push_back(tmp); //dodajemy do talii
- }
- }
- int getValue() //funkcja zwraca wartość wszystkich kart w talii
- {
- int sum = 0;
- for (int i =0; i<talia.size();i++)
- sum+=talia[i].getValue();
- return sum;
- }
- bool empty() const
- {
- return talia.empty();
- }
- };
- int main()
- {
- Talia talia, gracz1, gracz2;
- talia.createFull();
- // i może robić na przykład
- gracz1.add(talia.popCard());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement