-
Notifications
You must be signed in to change notification settings - Fork 0
/
Invasao.cpp
61 lines (38 loc) · 1.32 KB
/
Invasao.cpp
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
// Programação Orientada a Objectos 2020/2021
// Ana Rita Videira - 5012012218
#include "Invasao.h"
Invasao::Invasao() {
designacao = "Invasao";
ident = "invasao";
descricao = "Um dos territorios conquistados e invadido.";
}
Invasao::Invasao(const Invasao& orig) {
}
Invasao::~Invasao() {
}
bool Invasao::eventAction(Imperio * imp, Mundo * m) {
cout << endl << "Evento "<< designacao << " ativo ! " << endl;
int luck = rand()%6 + 1;
int it, resistencia=0;
int n = m->getVector().size();
for ( it = n;
it != 0 || m->getVector()[it]->getEstado() == false;
it--);
if (m->getAno() == 1)
forcaInvasao = 2;
else
forcaInvasao = 3;
if( imp->getTecnologia("defesa") != NULL )
resistencia = m->getVector()[it]->getResistencia()+1;
else
resistencia= m->getVector()[it]->getResistencia();
if ( forcaInvasao + luck < resistencia ){
cout << "[ * ] Invasao falhou! " << endl;
return false ;
}else{
m->getVector()[it]->setEstado(false);
cout << "[ * ] Invasao Conseguida! ";
cout << " Imperio perdeu o territorio " << m->getVector()[it]->getDesignacao() << " !" << endl;
return true ;
}
}