|
|
@ -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; |
|
|
|
} |
|
|
|
|
|
|
|
} |