Advertisement
MeehoweCK

Untitled

Nov 12th, 2020
706
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.44 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. class sety
  8. {
  9.     bool czy_trwa;
  10.     int wynik1, wynik2;
  11.     string nazwa1, nazwa2;
  12.     int koniec;
  13. public:
  14.     sety(string, string, int);
  15.     void losowanie();
  16.     void wypisanie();
  17.     void sprawdzenie();
  18.     bool gra();         // true - wygrana drużyny 1, false - wygrana drużyny 2
  19. };
  20.  
  21. sety::sety(string n1, string n2, int k)
  22. {
  23.     wynik1 = 0;
  24.  
  25.     wynik2 = 0;
  26.  
  27.     nazwa1 = n1;
  28.  
  29.     nazwa2 = n2;
  30.  
  31.     czy_trwa = true;
  32.  
  33.     koniec = k;
  34. }
  35.  
  36. void sety::losowanie()
  37. {
  38.     int liczba;
  39.  
  40.     srand(time(NULL));
  41.  
  42.     liczba = rand();
  43.  
  44.     if(liczba % 2 == 0)
  45.         wynik1++;
  46.     else
  47.         wynik2++;
  48. }
  49.  
  50. void sety::wypisanie()
  51. {
  52.     getchar();
  53.  
  54.     cout << nazwa1 << ": " << wynik1 << endl;
  55.  
  56.     cout << nazwa2 << ": " << wynik2 << endl;
  57. }
  58.  
  59. void sety::sprawdzenie()
  60. {
  61.     if(wynik1 >= koniec || wynik2 >= koniec )
  62.     {
  63.         if(wynik1 > wynik2)
  64.         {
  65.             if(wynik1 - wynik2 >= 2)
  66.                 czy_trwa = false;
  67.         }
  68.         else if(wynik2 > wynik1)
  69.         {
  70.             if(wynik2 - wynik1 >= 2)
  71.                 czy_trwa = false;
  72.         }
  73.     }
  74. }
  75.  
  76. bool sety::gra()
  77. {
  78.     while(czy_trwa)
  79.     {
  80.         wypisanie();
  81.         sprawdzenie();
  82.         losowanie();
  83.     }
  84.  
  85.     if(wynik1 > wynik2)
  86.     {
  87.         cout << "Gra sie zakonczyla, wygrywa " << nazwa1 << endl;
  88.         return true;
  89.     }
  90.     cout << "Gra sie zakonczyla, wygrywa " << nazwa2 << endl;
  91.     return false;
  92. }
  93.  
  94. class mecz
  95. {
  96.     string nazwa1, nazwa2;
  97.     int sety1, sety2;
  98.     sety* set;
  99. public:
  100.  
  101.     mecz(string, string);
  102.     void gra();
  103. };
  104.  
  105. mecz::mecz(string a, string b) : nazwa1(a), nazwa2(b), sety1(0), sety2(0), set(nullptr) {}
  106.  
  107. void mecz::gra()
  108. {
  109.     int koniec = 25;
  110.     while(sety1 < 3 && sety2 < 3)
  111.     {
  112.         // tworzymy nowy set
  113.         set = new sety(nazwa1, nazwa2, koniec);
  114.         if(set->gra())
  115.             ++sety1;
  116.         else
  117.             ++sety2;
  118.         cout << nazwa1 << '\t' << sety1 << ':' << sety2 << '\t' << nazwa2 << endl;
  119.         delete set;
  120.         if(sety1 == 2 && sety2 == 2)
  121.             koniec = 15;
  122.     }
  123. }
  124.  
  125.  
  126. int main()
  127. {
  128.     cout << "Podaj nazwy dwoch grajacych druzyn:\n";
  129.     cout << "\tdruzyna gospodarzy: ";
  130.     string a, b;
  131.     getline(cin, a);
  132.     cout << "\tdruzyna gosci: ";
  133.     getline(cin, b);
  134.  
  135.     mecz gra (a, b);
  136.  
  137.     gra.gra();
  138.  
  139.     return 0;
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement