Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

For the movement I would have checked for input every frame but only register a key down if this key was up before. For example if you hit right arrow key, the key goes down, you register input, then you don't register anymore input for that key until it goes up again. This is just how I would have done it, maybe it doesn't work :P

I wanted to answer just that. By checking for change in the state of the key (ie from up to down or vice versa) you can implement snappier controls. In your case, you could have made the player move right only when the key was just pressed, but not move if key is pressed but was already last time you checked.

I don't know which tools you used to make your game, but a lot (if not all) game engines should have a "GetKeyDown" function or something equivalent, which does just what we discuss.

Hope this helped you, and have a great day!