diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2023-01-13 14:52:41 -0500 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2023-01-13 14:52:41 -0500 |
commit | d0bde3c60fa911ac0bb0f71ce2a6a963c874392e (patch) | |
tree | ddcc00fab2749cc7b4110eed9f69189b6fcc7422 /couche.cpp | |
parent | 3fb8effa3603e9a9b96d263009fc1397433436ba (diff) |
Everything works before validation
Diffstat (limited to 'couche.cpp')
-rw-r--r-- | couche.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
@@ -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); }; |