When we think about the playable character carefully, as shown in in the following screenshot, we can identify several states in which he can be in relation to the player input. Specifically, when the player is pressing nothing, the character should be in an idle-neutral pose, standing still and not moving at all.
If the player presses either the left or right button only, the character should remain where he stands and turn in the appropriate direction. If the player presses the forward or up arrow key, the character should walk or run forward. Here, we can then identify a range of states for the character, such as idle, walk, run and turn. However, things are not as simple as this, because the character could turn while walking, or turn while running. In these cases, two directions of movement are provided by the player simultaneously, and we need the character to respond appropriately in these situations as well. For walking and turning,...