Check out the code in the Making an "Old School" FPS Game in the Chat forum. Go to the last page and get latest source. I use FSMs about always in my game projects and that one uses them for the main game state management, enemies... everything basically.
I am working on a 2D shmup quickstart template project currently and will post that maybe tonight or tomorrow. It also uses FSMs and is a smaller project so might be better for learning.
TI/994a (BASIC) -> C64 (BASIC/PASCAL/ASM/Others) -> Amiga (AMOS/BLITZ/ASM/C/Gamesmith) -> DOS (C/C++/Allegro) -> Windows (C++/C#/Monkey X/GL Basic/Unity/Others)