Code Block |
---|
#include "tilakone.h" Tilakone::Tilakone(QObject *parent) : QObject(parent) { tila=AutoV; tilalaskuri=0; KutsuVihreaJalankulkijoille=false; } Liikennevalojentilat Tilakone::TilakoneenToiminta() { switch(tila) { case AutoV: //entry if(tilalaskuri==0){ ; } tilalaskuri++; //do if (tilalaskuri>20){ tilalaskuri=0; } //exit if (KutsuVihreaJalankulkijoille==true){ tilalaskuri=0; tila=AutoK; } break; case AutoK: tilalaskuri++; if(tilalaskuri>20 && (KutsuVihreaJalankulkijoille==true)){ tilalaskuri=0; tila=AutoP; } if(tilalaskuri>20){ tila=AutoV; tilalaskuri=0; return tila; } break; case AutoP: tilalaskuri++; if(tilalaskuri>20){ tila=JalkaV; tilalaskuri=0; } break; case JalkaV: tilalaskuri++; if(tilalaskuri>20){ tila=JalkaP; tilalaskuri=0; } break; case JalkaP: tilalaskuri++; if(tilalaskuri>20){ tila=AutoK; tilalaskuri=0; KutsuVihreaJalankulkijoille=false; } }; return tila; } |