Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <iostream>
- #include <math.h>
- #include <string.h>
- #include <string>
- using namespace std;
- typedef enum { Roslinozerny, Miesozerny, Wszystkozerny }CoJe;
- typedef string IMIE;
- class Zwierzeta
- {
- protected:
- const IMIE imie;
- const int wielkosc;
- const CoJe posilki;
- double sila;
- public:
- Zwierzeta(string imiee, int wielkoscc, CoJe posilkii, double sila) : imie(imiee), wielkosc(wielkoscc), posilki(posilkii)
- {
- this->sila = sila;
- }
- virtual void info() = 0;
- void Spotkanie(Zwierzeta &zwierze1, Zwierzeta &zwierze2)
- {
- double Sila_Calkowita1 = zwierze1.wielkosc + zwierze1.sila;
- double Sila_Calkowita2 = zwierze2.wielkosc + zwierze2.sila;
- if (zwierze1.posilki == Roslinozerny && zwierze2.posilki != Roslinozerny)
- {
- if (Sila_Calkowita2 > Sila_Calkowita1)
- {
- cout << "Wygrywa" << zwierze2.imie << endl;
- zwierze2.sila = zwierze2.sila + (1.0 / (Sila_Calkowita2 - Sila_Calkowita1));
- delete &zwierze1;
- }
- }
- if (zwierze1.posilki != Roslinozerny && zwierze2.posilki == Roslinozerny)
- {
- if (Sila_Calkowita1 > Sila_Calkowita2)
- {
- cout << "Wygrywa" << zwierze1.imie << endl;
- zwierze1.sila = zwierze1.sila + (1.0 / (Sila_Calkowita1 - Sila_Calkowita2));
- delete &zwierze1;
- }
- }
- if (zwierze1.posilki == Roslinozerny && zwierze2.posilki == Roslinozerny)
- {
- cout << "Walki nie bedzie" << endl;
- }
- if (zwierze1.posilki != Roslinozerny && zwierze2.posilki != Roslinozerny)
- {
- if (Sila_Calkowita2 > Sila_Calkowita1)
- {
- cout << "Wygrywaaaa" << zwierze2.imie << endl;
- zwierze2.sila = zwierze2.sila + (1.0 / (Sila_Calkowita2 - Sila_Calkowita1));
- delete &zwierze1;
- }
- else if (Sila_Calkowita1 > Sila_Calkowita2)
- {
- cout << "Wygrywaaaaa" << zwierze1.imie << endl;
- zwierze1.sila = zwierze1.sila + (1.0 / (Sila_Calkowita1 - Sila_Calkowita2));
- delete &zwierze2;
- }
- else
- {
- cout << "Wyrownana walka" << endl;
- }
- }
- }
- };
- class Sawanna
- : public Zwierzeta
- {
- public:
- Sawanna(string imiee, int wielkoscc, CoJe posilkii, double sila) : Zwierzeta(imiee, wielkoscc, posilkii, sila)
- {
- }
- void info()
- {
- cout << imie << "\n" << wielkosc << "\n" << sila << endl;
- switch (posilki)
- {
- case 0: cout << "Roslinozerny" << endl; break;
- case 1: cout << "Miesozerny" << endl; break;
- case 2: cout << "Wszystkozerny" << endl; break;
- }
- }
- };
- int main(int argc, char *argv[])
- {
- Sawanna *zwierze1 = new Sawanna("RexMiesny1", 250, Miesozerny, 100);
- Sawanna *zwierze2 = new Sawanna("RexMiesny2", 240, Miesozerny, 90);
- /*
- Zwierzeta *zwierze3 = new Zwierzeta("RexMiesny3", 230, Miesozerny, 110);
- Zwierzeta *zwierze4 = new Zwierzeta("RexMiesny4", 220, Miesozerny, 80);
- Zwierzeta *zwierze5 = new Zwierzeta("RexMiesny5", 210, Miesozerny, 20);
- Zwierzeta *zwierze6 = new Zwierzeta("RexRoslinny1", 250, Roslinozerny, 140);
- Zwierzeta *zwierze7 = new Zwierzeta("RexRoslinny2", 240, Roslinozerny, 100);
- Zwierzeta *zwierze8 = new Zwierzeta("RexRoslinny3", 230, Roslinozerny, 10);
- Zwierzeta *zwierze9 = new Zwierzeta("RexRoslinny4", 220, Roslinozerny, 105);
- Zwierzeta *zwierze10 = new Zwierzeta("RexWszystko1", 250, Wszystkozerny, 89);
- */
- Sawanna *zwierze11 = new Sawanna("RexWszystko2", 240, Wszystkozerny, 71);
- /*
- Zwierzeta *zwierze12 = new Zwierzeta("RexWszystko3", 230, Wszystkozerny, 107);
- Zwierzeta *zwierze13 = new Zwierzeta("RexWszystko4", 220, Wszystkozerny, 180);
- */
- zwierze1->info();
- // cout << zwierze1-> << endl;
- // cout << zwierze1->Spotkanie(zwierze1,zwierze11) << endl; // mozna to skrocic do postaci 1 zwierzecia w nawiasie
- // hmm a moze to ma byc metoda klasy??enie.. obiektu...
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement