public static GameActionResult HandlePlayerMoveKeys(KeyboardState keyboardState, KeyboardState previousState, IMoveController moveController) { if (keyboardState.IsKeyDown(Keys.Up) && !previousState.IsKeyDown(Keys.Up)) { return(moveController.MovePlayer(new Offset(0, -1))); } if (keyboardState.IsKeyDown(Keys.Down) && !previousState.IsKeyDown(Keys.Down)) { return(moveController.MovePlayer(new Offset(0, 1))); } if (keyboardState.IsKeyDown(Keys.Left) && !previousState.IsKeyDown(Keys.Left)) { return(moveController.MovePlayer(new Offset(-1, 0))); } if (keyboardState.IsKeyDown(Keys.Right) && !previousState.IsKeyDown(Keys.Right)) { return(moveController.MovePlayer(new Offset(1, 0))); } return(null); }