Package pal.algorithmics
Class UndoableAction.Utils
java.lang.Object
pal.algorithmics.UndoableAction.Utils
- Enclosing interface:
- UndoableAction
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final UndoableAction
getCombined
(UndoableAction[] subActions) Create an action that combines multiple actionsstatic final UndoableAction
getDistributedSelection
(UndoableAction[] subActions, double[] actionProportions) Create an action that selects uniformly from a number of sub actionsstatic final UndoableAction
getSimpleDesparation
(UndoableAction primaryAction, UndoableAction desparateAction, double desparationLimit, int desparationInterval) A simple tool for change actions when things get desparatestatic final UndoableAction
getSimpleUniformSelection
(UndoableAction[] subActions) Create an action that selects uniformly from a number of sub actions
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
getSimpleUniformSelection
Create an action that selects uniformly from a number of sub actions- Parameters:
subActions
-- Returns:
-
getDistributedSelection
public static final UndoableAction getDistributedSelection(UndoableAction[] subActions, double[] actionProportions) Create an action that selects uniformly from a number of sub actions- Parameters:
subActions
-acitionProportions
-- Returns:
- Throws:
IllegalArgumentException
- if action array and proportion arrays are different lengths
-
getCombined
Create an action that combines multiple actions- Parameters:
subActions
- The actions that are do in turn.- Returns:
- An action that performs all the sub actions
-
getSimpleDesparation
public static final UndoableAction getSimpleDesparation(UndoableAction primaryAction, UndoableAction desparateAction, double desparationLimit, int desparationInterval) A simple tool for change actions when things get desparate- Parameters:
primaryAction
- The main action to do when things are going welldesparateAction
- The action to do when things get desparate. The desperation value for the desparate action will be scaled according to how much over the limit we aredesparationLimit
- The desparate value at which we start doing the desparate actiondesparationInterval
- The time between desparate actions when we cross the cutoff (a value of one will mean do all the time after desparation value has crossed cutoff)
-