Introduced CoinType for transfer between different currencies

jimFirstDesign
Felix Stupp 6 years ago
parent bc960ddf37
commit 6c4fef6cc1

@ -0,0 +1,34 @@
package de.banananetwork.dsa.currencies;
public enum CoinType {
// TODO Transfer from constant values to variable ones
// TODO Add some other currencies (https://de.wiki-aventurica.de/wiki/Aventurische_W%C3%A4hrungen)
MITTELREICH_KREUZER(1), // Base Value
MITTELREICH_NICKEL(2),
MITTELREICH_HELLER(10),
MITTELREICH_SILBERTALER(MITTELREICH_HELLER, 10),
MITTELREICH_DUKATEN(MITTELREICH_SILBERTALER, 10);
private final int multiplier;
CoinType(int multiplier) {
this.multiplier = multiplier;
}
CoinType(CoinType reference, int multiplier) {
this.multiplier = reference.multiplier * multiplier;
}
public int transferTo(int baseValue) {
return baseValue / multiplier;
}
public double transferToExact(int baseValue) {
return (double) baseValue / multiplier;
}
public int transferFrom(int coinValue) {
return coinValue * multiplier;
}
}
Loading…
Cancel
Save