private ActionResult MoveUp(MazeField winningField) { _currentState = new State(_currentState.Row - 1, _currentState.Column); if (winningField.Row < _currentState.Row) { return(ActionResult.CreateMovesTowards(_currentState)); } if (winningField.Row > _currentState.Row) { return(ActionResult.CreateMovesAway(_currentState)); } if (winningField.Row == _currentState.Row) { return(ActionResult.CreateNeutralMove(_currentState)); } throw new Exception("no idea"); }