-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpulizia.cpp
45 lines (33 loc) · 1.54 KB
/
pulizia.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
#include "pulizia.h"
unsigned short int Pulizia::_pesoPulizia=3; // => 3 punti ogni stanza pulita
Pulizia::Pulizia(const std::string& nome, int tempoStimato, unsigned short stanzeDaPulire, Inquilino *incaricato, bool svolto):
Incarico(nome,incaricato,svolto), Faccenda(tempoStimato), _stanzeDaPulire(stanzeDaPulire) {}
Pulizia* Pulizia::clone() const {return new Pulizia(*this);}
bool Pulizia::posponi(const Data & d) const
{
return Incarico::posponi(d) && _stanzeDaPulire <=3;
}
string Pulizia::generaNota() const {
return "PULIZIA\n\n" + Incarico::generaNota()+"\n"+Faccenda::generaNota() +
"\nPunteggio: "+ std::to_string(calcolaPunteggio())+" punti \n" +
"Stanze da Pulire: "+std::to_string(_stanzeDaPulire)+"\n\n"+"Cenerentola tocca a te!";
}
unsigned short int Pulizia::calcolaPunteggio() const{
return controlloSoglia(_stanzeDaPulire*_pesoPulizia);
}
void Pulizia::exportXml(QXmlStreamWriter & xmlOutput,string data) const
{
xmlOutput.writeStartElement(QString::fromStdString("PULIZIA"));
Faccenda::exportXml(xmlOutput,data);
xmlOutput.writeTextElement("stanzeDaPulire", QString::fromStdString(std::to_string(_stanzeDaPulire)));
xmlOutput.writeEndElement();
}
std::string Pulizia::getLabel() const {return "Pulizia";}
void Pulizia::importXml(QXmlStreamReader & xmlInput, vector<string> & parametri)
{
Faccenda::importXml(xmlInput,parametri);
string stanzeDaPulire;
assignWithXml(xmlInput, "stanzeDaPulire", stanzeDaPulire);
parametri[5]=stanzeDaPulire;
parametri[1]="Pulizia";
}