Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4. #include <math.h>
  5. #include <string.h>
  6. #include <string>
  7.  
  8. using namespace std;
  9. typedef enum { Roslinozerny, Miesozerny, Wszystkozerny }CoJe;
  10. typedef string IMIE;
  11.  
  12.  
  13. class Zwierzeta
  14. {
  15. protected:
  16.     const IMIE imie;
  17.     const int wielkosc;
  18.     const CoJe posilki;
  19.     double sila;
  20. public:
  21.  
  22.     Zwierzeta(string imiee, int wielkoscc, CoJe posilkii, double sila) : imie(imiee), wielkosc(wielkoscc), posilki(posilkii)
  23.     {
  24.         this->sila = sila;
  25.     }
  26.  
  27.     virtual void info() = 0;
  28.  
  29.     void Spotkanie(Zwierzeta &zwierze1, Zwierzeta &zwierze2)
  30.     {
  31.         double Sila_Calkowita1 = zwierze1.wielkosc + zwierze1.sila;
  32.         double Sila_Calkowita2 = zwierze2.wielkosc + zwierze2.sila;
  33.  
  34.         if (zwierze1.posilki == Roslinozerny && zwierze2.posilki != Roslinozerny)
  35.         {
  36.             if (Sila_Calkowita2 > Sila_Calkowita1)
  37.             {
  38.                 cout << "Wygrywa" << zwierze2.imie << endl;
  39.                 zwierze2.sila = zwierze2.sila + (1.0 / (Sila_Calkowita2 - Sila_Calkowita1));
  40.                 delete &zwierze1;
  41.             }
  42.         }
  43.  
  44.         if (zwierze1.posilki != Roslinozerny && zwierze2.posilki == Roslinozerny)
  45.         {
  46.             if (Sila_Calkowita1 > Sila_Calkowita2)
  47.             {
  48.                 cout << "Wygrywa" << zwierze1.imie << endl;
  49.                 zwierze1.sila = zwierze1.sila + (1.0 / (Sila_Calkowita1 - Sila_Calkowita2));
  50.                 delete &zwierze1;
  51.             }
  52.         }
  53.  
  54.         if (zwierze1.posilki == Roslinozerny && zwierze2.posilki == Roslinozerny)
  55.         {
  56.             cout << "Walki nie bedzie" << endl;
  57.         }
  58.  
  59.         if (zwierze1.posilki != Roslinozerny && zwierze2.posilki != Roslinozerny)
  60.         {
  61.             if (Sila_Calkowita2 > Sila_Calkowita1)
  62.             {
  63.                 cout << "Wygrywaaaa" << zwierze2.imie << endl;
  64.                 zwierze2.sila = zwierze2.sila + (1.0 / (Sila_Calkowita2 - Sila_Calkowita1));
  65.                 delete &zwierze1;
  66.             }
  67.             else if (Sila_Calkowita1 > Sila_Calkowita2)
  68.             {
  69.                 cout << "Wygrywaaaaa" << zwierze1.imie << endl;
  70.                 zwierze1.sila = zwierze1.sila + (1.0 / (Sila_Calkowita1 - Sila_Calkowita2));
  71.                 delete &zwierze2;
  72.             }
  73.             else
  74.             {
  75.                 cout << "Wyrownana walka" << endl;
  76.  
  77.             }
  78.         }
  79.  
  80.     }
  81. };
  82.  
  83.  
  84. class Sawanna
  85.     : public Zwierzeta
  86. {
  87.  
  88. public:
  89.     Sawanna(string imiee, int wielkoscc, CoJe posilkii, double sila) : Zwierzeta(imiee, wielkoscc, posilkii, sila)
  90.     {
  91.     }
  92.  
  93.     void info()
  94.     {
  95.         cout << imie << "\n" << wielkosc << "\n" << sila << endl;
  96.         switch (posilki)
  97.         {
  98.         case 0: cout << "Roslinozerny" << endl; break;
  99.         case 1: cout << "Miesozerny" << endl; break;
  100.         case 2: cout << "Wszystkozerny" << endl; break;
  101.         }
  102.     }
  103.  
  104.  
  105. };
  106.  
  107.  
  108. int main(int argc, char *argv[])
  109. {
  110.  
  111.     Sawanna *zwierze1 = new Sawanna("RexMiesny1", 250, Miesozerny, 100);
  112.     Sawanna *zwierze2 = new Sawanna("RexMiesny2", 240, Miesozerny, 90);
  113.     /*
  114.     Zwierzeta *zwierze3 = new Zwierzeta("RexMiesny3", 230, Miesozerny, 110);
  115.     Zwierzeta *zwierze4 = new Zwierzeta("RexMiesny4", 220, Miesozerny, 80);
  116.     Zwierzeta *zwierze5 = new Zwierzeta("RexMiesny5", 210, Miesozerny, 20);
  117.  
  118.     Zwierzeta *zwierze6 = new Zwierzeta("RexRoslinny1", 250, Roslinozerny, 140);
  119.     Zwierzeta *zwierze7 = new Zwierzeta("RexRoslinny2", 240, Roslinozerny, 100);
  120.     Zwierzeta *zwierze8 = new Zwierzeta("RexRoslinny3", 230, Roslinozerny, 10);
  121.     Zwierzeta *zwierze9 = new Zwierzeta("RexRoslinny4", 220, Roslinozerny, 105);
  122.  
  123.     Zwierzeta *zwierze10 = new Zwierzeta("RexWszystko1", 250, Wszystkozerny, 89);
  124.     */
  125.     Sawanna *zwierze11 = new Sawanna("RexWszystko2", 240, Wszystkozerny, 71);
  126.     /*
  127.     Zwierzeta *zwierze12 = new Zwierzeta("RexWszystko3", 230, Wszystkozerny, 107);
  128.     Zwierzeta *zwierze13 = new Zwierzeta("RexWszystko4", 220, Wszystkozerny, 180);
  129.     */
  130.     zwierze1->info();
  131.     //  cout << zwierze1-> << endl;
  132.  
  133.     //  cout << zwierze1->Spotkanie(zwierze1,zwierze11) << endl; // mozna to skrocic do postaci 1 zwierzecia  w nawiasie
  134.     // hmm a moze to ma byc metoda klasy??enie.. obiektu...
  135.     getchar();
  136.     return 0;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement