This brief sample (below) is the "finite state machine" in a nutshell. I sort through the Norman Defense and Attacks, set the 9-sprites grid to their appropriate frames, and assign text to both "heads up display" (HUD) panels. The trick is whenever both attacks are coming from the same location.
... or whenever a Defense and an opponent's Attack are in the same location.