victorialais

rpg editado 2

Nov 13th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.12 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Personagem {
  6. protected:
  7.     string nome;
  8.     int vida;
  9.     int atk;
  10.     int def;
  11.     int level;
  12.     int contador;
  13.     int porcentagem;
  14. public:
  15.     Personagem(string n, int v, int a, int d, int i, int p) {
  16.         nome = n;
  17.         vida = v;
  18.         atk = a;
  19.         def = d;
  20.         level = 1;
  21.         contador = i;
  22.         porcentagem = p;
  23.     }
  24.     string getNome() {
  25.         return nome;
  26.     }
  27.     int getVida() {
  28.         return vida;
  29.     }
  30.     int getAtk() {
  31.         return atk;
  32.     }
  33.     int getDef() {
  34.         return def;
  35.     }
  36.     int getLevel() {
  37.         return level;
  38.     }
  39.     void setNome(string novoNome) {
  40.         nome = novoNome;
  41.     }
  42.  
  43.     bool estaVivo() {
  44.         return (vida > 0);
  45.     }
  46.  
  47.     void descricao() {
  48.         cout << "*************" << endl;
  49.         cout << "Nome: " << nome << endl;
  50.         cout << "Level: " << level << endl;
  51.         cout << "Vida: " << vida << endl;
  52.         cout << "Atk: " << atk << endl;
  53.         cout << "Def: " << def << endl;
  54.         cout << "*************" << endl;
  55.     }
  56.  
  57.     virtual void atacar(Personagem* alvo) = 0;
  58.     virtual void receberAtaque(int dano) = 0;
  59. };
  60.  
  61. class Heroi : public Personagem {
  62. protected:
  63.     //Equipamentos
  64. public:
  65.     Heroi(string n, int v, int a, int d, int i, int p);
  66.     :: Personagem( n , v, a, d, i, p) {
  67.  
  68.     }
  69.  
  70.     void atacar(Personagem* alvo) {
  71.         int dano = atk;
  72.         alvo->receberAtaque(dano);
  73.     }
  74.     void receberAtaque(int dano) {
  75.         int danoFinal = dano - def;
  76.         vida = vida - danoFinal;
  77.     }
  78.  
  79. };
  80.  
  81. class Inimigo : public Personagem {
  82. protected:
  83.     //Experiencia fornecida ao ser derrotado
  84.     //Itens derrubados ao ser derrotado
  85. public:
  86.     Inimigo(string n, int v, int a, int d, int i, int p)
  87.     : Personagem(n, v, a, d, i, p) {
  88.     }
  89.  
  90.     void atacar(Personagem* alvo) {
  91.         int danoFinal = atk * 2;
  92.         alvo->receberAtaque(danoFinal);
  93.     }
  94.     void receberAtaque(int dano) {
  95.         int danoFinal = dano * 0.8;
  96.         vida = vida - danoFinal;
  97.     }
  98. };
  99.  
  100.  
  101. //CLASSE DOS PERSONAGENS
  102.  
  103. public:
  104.     Cavaleiro(string n, int v, int a, int d, int i, int p)
  105.     : Heroi(n, v, a, d, i, p) {
  106.     }
  107.  
  108.    
  109.      void receberAtaque(int dano, int v) {
  110.         int danoFinal = dano * 0.8;
  111.         vida = vida - danoFinal;
  112.     }
  113.  
  114.  
  115.  
  116. public:
  117.     Arqueiro(string n, int v, int a, int d, int i, int p)
  118.     : Heroi(n, v, a, d, i, p) {
  119.     }
  120.  
  121.    
  122.     void receberAtaque(int dano) {
  123.         int danoFinal = dano * 0.8;
  124.         vida = vida - danoFinal;
  125.     }
  126.    
  127.     void atacar(Personagem* alvo) {
  128.        
  129.        
  130.         i++
  131.         if (i % 2 == 0){
  132.            
  133.             dano = atk *1,5;
  134.            
  135.         } else {
  136.             int dano = atk;
  137.            
  138.         }
  139. alvo->receberAtaque(dano);
  140.  
  141. };
  142.  
  143.  
  144. public:
  145.     Barbaro(string n, int v, int a, int d, int p, int i, int x)
  146.     : Heroi(n, v, a, d, i, p, x) {
  147.     }
  148.    
  149.     void atacar(Personagem* alvo, i) {
  150.        
  151.    
  152.     for (i = 0; i < 5; i++)
  153.   {
  154.     //gerando 5 valores aleatórios entre zero e 5
  155.    
  156.     (rand() % 5) = x;
  157.     if  (x == 1) {
  158.         p = 0.8;
  159.     } else if (x == 2) {
  160.         p = 0.9;
  161.     }
  162.    
  163.     else if (x == 3) {
  164.         p = 1;
  165.     }
  166.    
  167.    
  168.    
  169.     else if (x == 4) {
  170.         p = 1.1;
  171.     }
  172.    
  173.     else if (x == 5) {
  174.         p = 1.2;
  175.     }
  176.     };
  177.    
  178.    
  179.     int dano = atk*p;
  180.         alvo->receberAtaque(dano);
  181. }
  182. }
  183.  
  184.    
  185.  
  186. };
  187.  
  188.  
  189. public:
  190.     Boss(string n, int v, int a, int d, int p, int i)
  191.     : Inimigo(n, v, a, d, i, p) {
  192.  
  193.     }
  194.  
  195.     void atacar(Personagem* alvo) {
  196.     if (vida =< 30) {
  197.        
  198.         int dano = atk*2,2;
  199.        
  200.     } else {
  201.    
  202.         int dano = atk*2;
  203.        
  204.     }
  205.         alvo->receberAtaque(dano);
  206.     }
  207.     void receberAtaque(int dano) {
  208.         int danoFinal = dano*0,2 - def;
  209.         vida = vida - danoFinal;
  210.     }
  211.  
  212. };
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220. void Escolha(){
  221.     string nome;
  222.     int atk;
  223.     int def;
  224.     string classe;
  225.     int escolha;
  226.    
  227.     cout << "Escolha o nome do seu personagem";
  228.     cin >> nome;
  229.     cout << "Distribua os pontos de defesa e ataque do seu personagem.";
  230.     cout << "Ataque: ";
  231.     cin >> atk;
  232.     cout << "Defesa: ";
  233.     cin >> def;
  234.    
  235.    
  236.     cout << "Vamos escolher a classe do seu heroi" << endl;
  237.     cout << "1. Cavaleiro " << endl;
  238.     cout << "2. Assassino " << endl;
  239.     cout << "3. Arqueiro " << endl;
  240.     cout << "4. Barbaro " << endl;
  241.     cout << " " << endl;
  242.    
  243.    
  244.     cin >> escolha;
  245.         if(escolha == 1){
  246.             Cavaleiro* hero = new Cavaleiro(name, 100, atk, def);
  247.             heroi->setClasse("Cavaleiro");
  248.            
  249.         }
  250.         if(escolha == 2){
  251.             Assassino* hero = new Assassino(name, 100, atk, def);
  252.             heroi->setClasse("Assassino");
  253.            
  254.         }
  255.         if(escolha == 3){
  256.             Arqueiro* heroi = new Paladino(name, 100, atk, def);
  257.             heroi->setClasse("Arqueiro");
  258.          
  259.         }
  260.         if(escolha == 4){
  261.             Barbaro* heroi = new Barbaro(name, 100, atk, def);
  262.             heroi->setClasse("Barbaro");
  263.            
  264.         }  
  265.        
  266.    
  267. }
  268.  
  269.  
  270.  
  271.  
  272.  
  273. int main(){
  274.    
  275.     Escolha();
  276.  
  277.     return 0;
  278. }
Advertisement
Add Comment
Please, Sign In to add comment