Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- #include <cstdlib>
- using namespace std;
- class card
- {
- public:
- string name;//np Jopek
- string type;//Wino,trefl
- int value;//Numeryczne wiadomo Jopek - 11 Królowa - 12 Król-13 As-14 Joker-15
- int numerOnList;//kolejność w tali
- bool yours;//czy karta jest u ciebie czy u przeciwnika
- card()
- {
- type="unknown";
- name="unknown";
- value = 404;
- numerOnList = 404;
- bool yours = false;
- }
- card(string t, int v, int nol, bool y)
- {
- switch(v)
- {
- case 2:
- name = "2";
- break;
- case 3:
- name = "3";
- break;
- case 4:
- name = "4";
- break;
- case 5:
- name = "5";
- break;
- case 6:
- name = "6";
- break;
- case 7:
- name = "7";
- break;
- case 8:
- name = "8";
- break;
- case 9:
- name = "9";
- break;
- case 10:
- name = "10";
- break;
- case 11:
- name = "Valet";
- break;
- case 12:
- name = "Queen";
- break;
- case 13:
- name = "King";
- break;
- case 14:
- name = "Ace";
- break;
- case 15:
- name = "Joker";
- break;
- }
- type = t;
- value = v;
- numerOnList = nol;
- yours = y;
- cout<<"card constructor done"<<endl;
- }
- void cardRemake(string t, int v, int nol, bool y)
- {
- switch(v)
- {
- case 2:
- name = "2";
- break;
- case 3:
- name = "3";
- break;
- case 4:
- name = "4";
- break;
- case 5:
- name = "5";
- break;
- case 6:
- name = "6";
- break;
- case 7:
- name = "7";
- break;
- case 8:
- name = "8";
- break;
- case 9:
- name = "9";
- break;
- case 10:
- name = "10";
- break;
- case 11:
- name = "Valet";
- break;
- case 12:
- name = "Queen";
- break;
- case 13:
- name = "King";
- break;
- case 14:
- name = "Ace";
- break;
- case 15:
- name = "Joker";
- break;
- }
- type = t;
- value = v;
- numerOnList = nol;
- yours = y;
- cout<<"cardRemake process done"<<endl;
- }
- };
- class deck
- {
- public:
- card cards[54];
- int currentPos=26;//ile kart
- friend void dealCards();
- void moveCard()
- {
- for(int i=0;i>currentPos;i++)
- {
- cards[i]=cards[i+1];
- }
- }
- void cardWon(string t, int v, int nol, bool y)
- {
- currentPos++;
- cards[currentPos-2] = cards[0];
- cards[currentPos-1] = card(t,v,nol,y);
- moveCard();
- }
- void cardLose(deck *ptr )
- {
- ptr->cardWon(this->cards[0].type,this->cards[0].value,this->cards[0].numerOnList,this->cards[0].yours);
- moveCard();
- currentPos--;
- }
- bool testCards(string t, int v, bool y,deck &ptr)
- {
- cout<<"cardTesting is doing fine"<<endl;
- for(int i=0;i<27;i++)
- {
- if((cards[i].type == t)||(cards[i].value == v)||(cards[i].yours == y))
- {
- return true;
- }
- }
- for(int i=0;i<27;i++)
- {
- if((ptr.cards[i].type == t)||(ptr.cards[i].value == v)||(ptr.cards[i].yours == y))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- };
- int main()
- {
- deck enemyDeck,yourDeck;
- bool w;
- for(int i=0;i<=26;i++)
- {
- srand(time(NULL));
- string t;
- int v, nol=1;
- bool y=false;
- do
- {
- v = rand()%4+1;
- switch(v)
- {
- case 1:
- t = "clubs";
- break;
- case 2:
- t = "hearts";
- break;
- case 3:
- t = "diamonds";
- break;
- case 4:
- t = "spades";
- break;
- }
- v=rand()%13+2;
- w= enemyDeck.testCards(t,v,y,yourDeck);
- }
- while(w);
- enemyDeck.cards[i].cardRemake(t,v,nol,y);
- cout<<nol<<".done"<<endl;
- nol++;
- }
- for(int i=0;i<=26;i++)
- {
- string t;
- int v, nol=0;
- bool y=true;
- nol++;
- do
- {
- v = rand()%4+1;
- switch(v)
- {
- case 1:
- t = "clubs";
- break;
- case 2:
- t = "hearts";
- break;
- case 3:
- t = "diamonds";
- break;
- case 4:
- t = "spades";
- break;
- }
- v=rand()%13+2;
- w= yourDeck.testCards(t,v,y,enemyDeck);
- }
- while(w);
- yourDeck.cards[i].cardRemake(t,v,nol,y);
- cout<<nol<<".done"<<endl;
- nol++;
- }
- for(int i=0; i<107;i++)
- {
- if(i<54)
- {
- cout<<enemyDeck.cards[i].numerOnList<<". "<<enemyDeck.cards[i].name<<" "<<enemyDeck.cards[i].type<<" "<<enemyDeck.cards[i].value<<" "<<enemyDeck.cards[i].yours<<endl;
- }
- else
- {
- if(i==54)
- {
- cout<<endl<<endl;
- }
- cout<<yourDeck.cards[i-54].numerOnList<<". "<<yourDeck.cards[i-54].name<<" "<<yourDeck.cards[i-54].type<<" "<<yourDeck.cards[i-54].value<<" "<<yourDeck.cards[i-54].yours<<endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement