diff --git a/src/de/banananetwork/dsa/currencies/CoinType.java b/src/de/banananetwork/dsa/currencies/CoinType.java new file mode 100644 index 0000000..c9694c5 --- /dev/null +++ b/src/de/banananetwork/dsa/currencies/CoinType.java @@ -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; + } + +}