Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef HEADER144_H_
- #define HEADER144_H_
- #include <string>
- #include <iostream>
- #include <ctime>
- #include <cstdlib>
- class Person
- {
- private:
- std::string firstName;
- std::string lastName;
- public:
- Person(std::string & s1, std::string & s2) : firstName(s1), lastName(s2) {}
- Person(const Person & p): firstName(p.firstName), lastName(p.lastName) {}
- Person(const char * s1 = "brak", const char * s2 = "brak") : firstName(s1), lastName(s2) {}
- virtual void Show() = 0 { std::cout << firstName << " " << lastName; }
- virtual ~Person() = 0 {}
- void Set() { std::cout << "Podaj imie i nazwisko: "; std::cin >> firstName; while (std::cin.get() != '\n') continue; std::cin >> lastName; while(std::cin.get() != '\n') continue; }
- };
- class Gunslinger : virtual public Person
- {
- private:
- int scratches;
- protected:
- void Set4Show() { std::cout << "Liczba rys na rewolwerze: " << scratches << " Szybkostrzelnosc: " << Draw(4); }
- public:
- Gunslinger(std::string & s1, std::string & s2, int scr = 0 ) : Person(s1, s2), scratches(scr) {}
- Gunslinger(const Person & p, int scr = 0) : Person(p), scratches(scr) {}
- Gunslinger(const char * s1 = "brak", const char * s2 = "brak", int scr = 0) : Person(s1, s2), scratches(scr) {}
- void Show() { std::cout << "Imie i nazwisko rewolwerowca: "; Person::Show(); Set4Show(); }
- double Draw(double n) { srand(time(NULL)); return std::rand() % n; }
- void Set() { Person::Set(); std::cout << "Podaj liczbe rys na rewolwerze: "; std::cin >> scratches; }
- };
- class Card
- {
- private:
- const std::string ranks[13] {"deuce", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king", "ace"};
- const std::string suits[4]{"clubs", "diamonds", "hearts", "spades" };
- int rank;
- int suit;
- public:
- Card(int r = 12, int s = 3) : rank(r), suit(s) {}
- void Show() { std::cout << ranks[rank] << " of " << suits[suit]; }
- };
- class PokerPlayer : virtual public Person
- {
- protected:
- void set4Show() { std::cout << "Karta: "; Draw().Show(); }
- public:
- PokerPlayer(std::string & s1, std::string & s2) : Person(s1, s2) {}
- PokerPlayer(const Person & p) : Person(p) {}
- PokerPlayer(const char * s1 = "Brak", const char * s2 = "Brak") : Person(s1, s2) {}
- Card Draw() { srand(time(NULL)); return Card(rand() % 13, rand() % 4); }
- void Show() { std::cout << "Imie i nazwisko pokerzysty: "; Person::Show(); set4Show(); }
- void Set() { Person::Set(); }
- };
- class BadGuy : public Gunslinger, public PokerPlayer
- {
- protected:
- void set4show() { Gunslinger::Set4Show(); PokerPlayer::set4Show(); }
- public:
- BadGuy(std::string & s1, std::string & s2, int scr = 0) : Person(s1, s2), Gunslinger(s1,s2, scr), PokerPlayer(s1,s2) {}
- BadGuy(const Person & p, int scr = 0) : Person(p), Gunslinger(p, scr), PokerPlayer(p) {}
- BadGuy(const char * s1 = "brak", const char * s2 = "brak", int scr = 0) : Person(s1, s2), Gunslinger(s1, s2, scr), PokerPlayer(s1,s2) {}
- void Gdraw() { Gunslinger::Draw(4); }
- void Cdraw() { PokerPlayer::Draw(); }
- void Show() { std::cout << "Imie i nazwisko badguya: "; set4Show(); }
- void Set() { Gunslinger::Set(); }
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement