Browse Source

Introduced CoinType for transfer between different currencies

jimFirstDesign
Felix Stupp 3 years ago
parent
commit
6c4fef6cc1
  1. 34
      src/de/banananetwork/dsa/currencies/CoinType.java

34
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;
}
}
Loading…
Cancel
Save