-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArmaduras.h
63 lines (54 loc) · 2.12 KB
/
Armaduras.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef ARMADURAS_H
#define ARMADURAS_H
#include"Intf_Armaduras.h"
class Casco : public Intf_Armaduras{
public:
//constructor y destructor
Casco(unique_ptr<Intf_Jugador> &&_jugador):Intf_Armaduras(move(_jugador)){
this->armadura=0.20f;
}
~Casco(){}
//metodos
void takeDamage(float danio)override{
float armadura_total=getArmor();
float danio_recibido=danio*(1-armadura_total);
float danio_retenido=danio*armadura_total;
cout<<"Armadura total : "<<armadura_total<<", danio recivido : "<<danio_recibido<<", danio reteniudo : "<<danio_retenido<<endl;
jugador->takeDamage(danio_recibido);
}
};
class Chaleco :public Intf_Armaduras{
public:
//Constructor y destructor
Chaleco(unique_ptr<Intf_Jugador> &&_jugador):Intf_Armaduras(move(_jugador)){
this->armadura=0.15f;
}
~Chaleco(){}
//metodos
void takeDamage(float danio)override{
float armadura_total=getArmor();
float danio_recibido=danio*(1-armadura_total);
float danio_retenido=danio*armadura_total;
cout<<"Armadura total : "<<armadura_total<<", danio recivido : "<<danio_recibido<<", danio reteniudo : "<<danio_retenido<<endl;
//jugador->setVida(jugador->getVida()-danio_recibido);
jugador->takeDamage(danio_recibido);
}
};
class Botas :public Intf_Armaduras {
public:
//Constructor y destructor
Botas(unique_ptr<Intf_Jugador> &&_jugador) :Intf_Armaduras(move(_jugador)) {
this->armadura = 0.10f;
}
~Botas() {}
//metodos
void takeDamage(float danio)override {
float armadura_total = getArmor();
float danio_recibido = danio * (1 - armadura_total);
float danio_retenido = danio * armadura_total;
cout << "Armadura total : " << armadura_total << ", danio recivido : " << danio_recibido << ", danio reteniudo : " << danio_retenido << endl;
//jugador->setVida(jugador->getVida() - danio_recibido);
jugador->takeDamage(danio_recibido);
}
};
#endif // ARMADURAS_H