rails.algorithms
Interface RevenueDynamicModifier

All Known Implementing Classes:
DoubleHeadingModifier, NamedTrainRevenueModifier, PullmanRevenueModifier, TerminateAtMajorModifier

public interface RevenueDynamicModifier

Classes that change properties of the revenue calculation after the actual calculation started implement the dynamic modifier. They have to register themselves to the RevenueManager via the GameManager instance.

Author:
freystef

Method Summary
 void adjustOptimalRun(java.util.List<RevenueTrainRun> optimalRuns)
          allows to adjust the run list of the optimal train run output
 int evaluationValue(java.util.List<RevenueTrainRun> runs, boolean optimalRuns)
          returns the value used for evaluation (at the runs supplied)
 int predictionValue()
          returns the value used for prediction
 boolean prepareModifier(RevenueAdapter revenueAdapter)
          after the setup of the revenueAdapter, but before the actual calculation if return is false => deactivate
 java.lang.String prettyPrint(RevenueAdapter adapter)
          returns the results as pretty prints
 

Method Detail

prepareModifier

boolean prepareModifier(RevenueAdapter revenueAdapter)
after the setup of the revenueAdapter, but before the actual calculation if return is false => deactivate


predictionValue

int predictionValue()
returns the value used for prediction


evaluationValue

int evaluationValue(java.util.List<RevenueTrainRun> runs,
                    boolean optimalRuns)
returns the value used for evaluation (at the runs supplied)


adjustOptimalRun

void adjustOptimalRun(java.util.List<RevenueTrainRun> optimalRuns)
allows to adjust the run list of the optimal train run output


prettyPrint

java.lang.String prettyPrint(RevenueAdapter adapter)
returns the results as pretty prints