Untitled
unknown
c_cpp
4 years ago
1.8 kB
9
Indexable
#include "EsercizioGiocoDueBottiglie1.cpp"
class Gioco {
public:
Gioco(int x, int y) {
//Inizializzo le istanze ma devono per forza avere valori diversi tra di loro e rientrare comunque nel range
bottiglia1.inizializza(x);
if (x != y)
bottiglia2.inizializza(y);
else
do {
cout << "Inserisci valore corretto = ";
cin >> y;
bottiglia2.inizializza(y);
} while (y == x && y != 3 || y != 5);
}
//Ovviamente le istanze private, devo ricreare un metodo per ogni istanza e richiamare quelli della classe principale
void svuotaBottiglia1() {
bottiglia1.svuotaBottiglia();
}
void svuotaBottiglia2() {
bottiglia2.svuotaBottiglia();
}
void riempiBottiglia1() {
bottiglia1.riempiBottiglia();
}
void riempiBottiglia2() {
bottiglia2.riempiBottiglia();
}
int getStatoBottiglia1() {
return bottiglia1.getStato();
}
int getStatoBottiglia2() {
return bottiglia2.getStato();
}
void versa2In1() {
bottiglia2.travasa(bottiglia2, bottiglia1);
}
void versa1In2() {
bottiglia2.travasa(bottiglia1, bottiglia2);
}
int getBottiglia1CapacitaMax() {
return bottiglia1.getCapacitaMax();
}
int getBottiglia2CapacitaMax() {
return bottiglia2.getCapacitaMax();
}
int getBottiglia1Stato() {
return bottiglia1.getStato();
}
int getBottiglia2Stato() {
return bottiglia2.getStato();
}
private:
//Istanze private per evitare che vengano modificate
Bottiglia bottiglia1;
Bottiglia bottiglia2;
};
inline ostream& operator << (ostream& out, Gioco& istanza) {
out << "Bottiglia 1 capacita max = " << istanza.getBottiglia1CapacitaMax() << " stato = " << istanza.getBottiglia1Stato() << endl;
out << "Bottiglia 2 capacita max = " << istanza.getBottiglia2CapacitaMax() << " stato = " << istanza.getBottiglia2Stato() << endl;
return out;
}
Editor is loading...