Advertisement
Halas

+Walka

Dec 8th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6. class Postac{
  7.     public:
  8.     int lvl;
  9.     float obrazenia;
  10.     float hp;
  11.     public:
  12.     Postac(){
  13.     }
  14.     int SprawdzanieLVL(int expcal){
  15.         int lvlexpcal=expcal;
  16.         int lvlexp;
  17.         int n=0;
  18.         do{
  19.             lvlexp=5*pow(2,n);
  20.             n++;
  21.             lvl=n;
  22.         }while(lvlexpcal>=lvlexp);
  23.         return (lvl);
  24.     }
  25.     void Obrazenia(float szatak){
  26.         obrazenia=szatak*lvl;
  27.     }
  28.     int HP(){
  29.         hp=lvl*36;
  30.         return (hp);
  31.     }
  32.     class Wojownik;
  33. };
  34.  
  35. class Wojownik :public Postac{
  36.     string imie;
  37.     float szatak;
  38.     int expcal;
  39.     public:
  40.     Wojownik(string nimie, float nszatak, int nexpcal):
  41.     imie(nimie),szatak(nszatak),expcal(nexpcal)
  42.     {
  43.     }
  44.     int EXPchange(int exp,int zdobyte){
  45.         expcal=exp+zdobyte;
  46.         return(expcal);
  47.     }
  48.     void Wypisz(){
  49.         cout<<"Imie: "<<imie<<"\nIlosc zgromadzonego doswiadczenia: "<<expcal<<"\nLvl: "<<lvl<<"\nSzybkosc ataku: "<<szatak<<"\nObrazenia: "<<obrazenia<<"\nHP: "<<hp;
  50.         cout<<"\n*"<<endl;
  51.     }
  52.     int atak(float hp3){
  53.         hp3=-obrazenia;
  54.         return (hp3);
  55.     }
  56.    
  57.     ~Wojownik(){
  58.             cout<<"\nWywolano destruktor";
  59.         };
  60.    
  61. };
  62.  
  63. void walka(float hp, float obrazenia1, float hp2, float obrazenia2){
  64.     cout<<"\nHP 1. postaci: "<<hp<<"\tHP 2. postaci: "<<hp2;
  65.         do{
  66.             hp=hp-obrazenia2;
  67.             hp2=hp2-obrazenia1;
  68.             cout<<"\nHP 1. postaci: "<<hp<<"\tHP 2. postaci: "<<hp2;
  69.         }while(hp>0 && hp2>0);
  70.             if(hp<0)
  71.             cout<<"\nWygrala 2. postac.";
  72.             else
  73.             cout<<"\nWygrala 1. postac";
  74.     }
  75.  
  76. int main(int argc, char** argv) {
  77.     int zdobyte;
  78.     int exp=12;
  79.     int exp2=21;
  80.     float hp, hp2;
  81.     float obrazenia, obrazenia2;
  82.    
  83.     Wojownik Eryk("Eryk",2.5,exp);
  84.     Eryk.SprawdzanieLVL(exp);
  85.     Eryk.HP();
  86.     Eryk.Obrazenia(2.5);
  87.     Eryk.Wypisz();
  88.    
  89.     Wojownik Edmund("Edmund",3.4,exp2);
  90.     Edmund.SprawdzanieLVL(exp2);
  91.     Edmund.HP();
  92.     Edmund.Obrazenia(3.4);
  93.     Edmund.Wypisz();
  94.    
  95.     hp=Eryk.HP();
  96.     hp2=Edmund.HP();
  97.     obrazenia=Eryk.obrazenia;
  98.     obrazenia2=Edmund.obrazenia;
  99.  
  100.     walka(hp, obrazenia, hp2, obrazenia2);
  101.    
  102.     cout<<"\nIlosc zdobytego expa: ";
  103.     cin>>zdobyte;
  104.     exp=Eryk.EXPchange(exp,zdobyte);
  105.     Eryk.SprawdzanieLVL(exp);
  106.     Eryk.Obrazenia(2.5);
  107.     Eryk.Wypisz();
  108.    
  109.     Eryk.~Wojownik();
  110.     Edmund.~Wojownik();
  111.     return 0;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement