computePrice
public double computePrice(int min,
int max,
int available,
int saturation,
int productionRate,
IPopulationStructure pop,
ECityState state)
Compute the price for one item of the ware. Though the price is only handled in further
computation as integer value, this method returns its value as double so this condition can be
tested:
The higher the available amount (but still below the saturation value) the smaller (strictly) the returned
value.
For different starting values:
If the starting value b is below starting point a the whole curve of b is below (not necessary strictly)
the curve of a. The curve is continues between 0 (inclusive) and infinity.
This implementation uses a linear function between the max value at 0 and the min value at saturation.
This however means that the function is not continuous at the point of the saturation.
- Specified by:
computePrice
in interface IPriceCalculation
- Parameters:
min
- the lowest possible price (0 exclusive)
max
- the highest possible price
available
- amount of wares that are available in the market
saturation
- amount of items at which the market is saturated (no further price change
productionRate
- amount the city can produce within a week
pop
- population structure that may have an influence on the calculated price
state
- state of the city
- Returns:
- price for one item sold