summaryrefslogtreecommitdiff
path: root/couche.cpp
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2023-01-13 14:52:41 -0500
committerBenjamin Chausse <benjamin@chausse.xyz>2023-01-13 14:52:41 -0500
commitd0bde3c60fa911ac0bb0f71ce2a6a963c874392e (patch)
treeddcc00fab2749cc7b4110eed9f69189b6fcc7422 /couche.cpp
parent3fb8effa3603e9a9b96d263009fc1397433436ba (diff)
Everything works before validation
Diffstat (limited to 'couche.cpp')
-rw-r--r--couche.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/couche.cpp b/couche.cpp
index 9273031..b84cc73 100644
--- a/couche.cpp
+++ b/couche.cpp
@@ -10,7 +10,7 @@
Couche::Couche() {
state = STATE_INIT;
- vecteur = Vecteur();
+ Vecteur vecteur;
};
Couche::~Couche() {
@@ -42,9 +42,11 @@ void Couche::afficher(ostream &s) {
};
bool Couche::changerEtat(int newState) {
- if (state == STATE_INIT) return false;
- state = newState;
- return true;
+ if ( newState>=STATE_INIT && newState<=STATE_INACTIVE ) {
+ state = newState;
+ return true;
+ };
+ return false;
};
bool Couche::translater(int deltaX, int deltaY) {
@@ -55,17 +57,16 @@ bool Couche::translater(int deltaX, int deltaY) {
};
bool Couche::ajouterForme(Forme *f) {
- int initialState = getEtat();
- if (initialState == STATE_INACTIVE) return false;
- bool success = vecteur.ajouterForme(f);
- if (success) {
- changerEtat(STATE_ACTIVE);
- };
- return success;
+ if (state != STATE_ACTIVE) return false;
+ return vecteur.ajouterForme(f);
};
Forme *Couche::supprimerForme(int index) {
- if (state != STATE_ACTIVE) return NULL;
+ if (state != STATE_ACTIVE) {
+ return NULL;
+ } else {
+ return vecteur.supprimerForme(index);
+ };
return vecteur.supprimerForme(index);
};