Pour paraphraser @J-M-L , c'est typiquement un cas d'application d'une machine à états : il a fait un tuto que tu trouveras dans la section idoine.
Sinon, tu peux lire ça :