ch.sahits.game.openpatrician.model.product
Class LinearPriceCalculation
java.lang.Object
ch.sahits.game.openpatrician.model.product.LinearPriceCalculation
- All Implemented Interfaces:
- IPriceCalculation
final class LinearPriceCalculation
- extends Object
- implements IPriceCalculation
The most simple form of the price calculation algorithm.
- Author:
- Andi Hotz, (c) Sahits GmbH, 2011
Created on Nov 27, 2011
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LinearPriceCalculation
LinearPriceCalculation()
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 priceavailable - amount of wares that are available in the marketsaturation - amount of items at which the market is saturated (no further price changeproductionRate - amount the city can produce within a weekpop - population structure that may have an influence on the calculated pricestate - state of the city
- Returns:
- price for one item sold
Copyright © 2011-2012 Sahits GmbH. All Rights Reserved.