Advertisement
MeehoweCK

Untitled

Nov 12th, 2020
610
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.29 KB | None | 0 0
  1. // main.cpp
  2. #include "head.h"
  3. #include "mecz.h"
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     cout << "Podaj nazwy dwoch grajacych druzyn:\n";
  11.     cout << "\tdruzyna gospodarzy: ";
  12.     string a, b;
  13.     getline(cin, a);
  14.     cout << "\tdruzyna gosci: ";
  15.     getline(cin, b);
  16.  
  17.     mecz gra (a, b);
  18.  
  19.     gra.gra();
  20.  
  21.     return 0;
  22. }
  23.  
  24. // head.h
  25. class sety;
  26. class mecz;
  27.  
  28. // sety.h
  29. #ifndef SETY_H
  30. #define SETY_H
  31. #include <iostream>
  32.  
  33. using namespace std;
  34.  
  35. class sety
  36. {
  37.     bool czy_trwa;
  38.     int wynik1, wynik2;
  39.     string nazwa1, nazwa2;
  40.     int koniec;
  41. public:
  42.     sety(string, string, int);
  43.     void losowanie();
  44.     void wypisanie();
  45.     void sprawdzenie();
  46.     bool gra();         // true - wygrana drużyny 1, false - wygrana drużyny 2
  47. };
  48.  
  49. #endif // SETY_H
  50.  
  51. // sety.cpp
  52. #include "sety.h"
  53. #include <cstdlib>
  54. #include <ctime>
  55.  
  56. /*class sety
  57. {
  58.     bool czy_trwa;
  59.     int wynik1, wynik2;
  60.     string nazwa1, nazwa2;
  61.     int koniec;
  62. public:
  63.     sety(string, string, int);
  64.     void losowanie();
  65.     void wypisanie();
  66.     void sprawdzenie();
  67.     bool gra();         // true - wygrana drużyny 1, false - wygrana drużyny 2
  68. };*/
  69.  
  70. sety::sety(string n1, string n2, int k)
  71. {
  72.     wynik1 = 0;
  73.  
  74.     wynik2 = 0;
  75.  
  76.     nazwa1 = n1;
  77.  
  78.     nazwa2 = n2;
  79.  
  80.     czy_trwa = true;
  81.  
  82.     koniec = k;
  83. }
  84.  
  85. void sety::losowanie()
  86. {
  87.     srand(time(nullptr));
  88.  
  89.     int liczba;
  90.  
  91.     srand(time(NULL));
  92.  
  93.     liczba = rand();
  94.  
  95.     if(liczba % 2 == 0)
  96.         wynik1++;
  97.     else
  98.         wynik2++;
  99. }
  100.  
  101. void sety::wypisanie()
  102. {
  103.     getchar();
  104.  
  105.     cout << nazwa1 << ": " << wynik1 << endl;
  106.  
  107.     cout << nazwa2 << ": " << wynik2 << endl;
  108. }
  109.  
  110. void sety::sprawdzenie()
  111. {
  112.     if(wynik1 >= koniec || wynik2 >= koniec )
  113.     {
  114.         if(wynik1 > wynik2)
  115.         {
  116.             if(wynik1 - wynik2 >= 2)
  117.                 czy_trwa = false;
  118.         }
  119.         else if(wynik2 > wynik1)
  120.         {
  121.             if(wynik2 - wynik1 >= 2)
  122.                 czy_trwa = false;
  123.         }
  124.     }
  125. }
  126.  
  127. bool sety::gra()
  128. {
  129.     while(czy_trwa)
  130.     {
  131.         wypisanie();
  132.         sprawdzenie();
  133.         losowanie();
  134.     }
  135.  
  136.     if(wynik1 > wynik2)
  137.     {
  138.         cout << "Gra sie zakonczyla, wygrywa " << nazwa1 << endl;
  139.         return true;
  140.     }
  141.     cout << "Gra sie zakonczyla, wygrywa " << nazwa2 << endl;
  142.     return false;
  143. }
  144.  
  145. // mecz.h
  146. #ifndef MECZ_H
  147. #define MECZ_H
  148. #include <iostream>
  149. #include "sety.h"
  150.  
  151. using namespace std;
  152.  
  153. class mecz
  154. {
  155.     string nazwa1, nazwa2;
  156.     int sety1, sety2;
  157.     sety* set;
  158. public:
  159.     mecz(string, string);
  160.     void gra();
  161. };
  162.  
  163. #endif // MECZ_H
  164.  
  165. // mecz.cpp
  166. #include "mecz.h"
  167.  
  168. /*class mecz
  169. {
  170.     string nazwa1, nazwa2;
  171.     int sety1, sety2;
  172.     sety* set;
  173. public:
  174.     mecz(string, string);
  175.     void gra();
  176. };*/
  177.  
  178. mecz::mecz(string a, string b) : nazwa1(a), nazwa2(b), sety1(0), sety2(0), set(nullptr) {}
  179.  
  180. void mecz::gra()
  181. {
  182.     int koniec = 25;
  183.     while(sety1 < 3 && sety2 < 3)
  184.     {
  185.         // tworzymy nowy set
  186.         set = new sety(nazwa1, nazwa2, koniec);
  187.         if(set->gra())
  188.             ++sety1;
  189.         else
  190.             ++sety2;
  191.         cout << nazwa1 << '\t' << sety1 << ':' << sety2 << '\t' << nazwa2 << endl;
  192.         delete set;
  193.         if(sety1 == 2 && sety2 == 2)
  194.             koniec = 15;
  195.     }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement