diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Player.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Player.java index e69de29..0114bbf 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Player.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Player.java @@ -0,0 +1,81 @@ +package edu.ntnu.idi.idatt2003.g40.mappe; + +import java.math.BigDecimal; +import java.util.Objects; + +public class Player { + + private final String name; + private final BigDecimal startingMoney; + private BigDecimal money; + private final Portfolio portfolio; + private final TransactionArchive transactionArchive; + + /** + * Creates a new player with a given name and starting capital. + * + * @param name the name of the player + * @param startingMoney the starting amount of money + */ + public Player(String name, BigDecimal startingMoney) { + this.name = name; + this.startingMoney = startingMoney; + this.money = this.startingMoney; + this.portfolio = new Portfolio(); + this.transactionArchive = new TransactionArchive(); + } + + /** + * Returns the name of the player. + * + * @return the player's name + */ + public String getName() { + return name; + } + + /** + * Returns the players current balance. + * + * @return the current amount of money + */ + public BigDecimal getMoney() { + return money; + } + + /** + * Adds money to the players balance. + * + * @param amount the amount to add + */ + public void addMoney(BigDecimal amount) { + money = money.add(amount); + } + + /** + * Withdraws money from the players balance. + * + * @param amount the amount to withdraw + */ + public void withdrawMoney(BigDecimal amount) { + money = money.subtract(amount); + } + + /** + * Returns the players portfolio. + * + * @return the portfolio + */ + public Portfolio getPortfolio() { + return portfolio; + } + + /** + * Returns the players transaction archive. + * + * @return the transaction archive + */ + public TransactionArchive getTransactionArchive() { + return transactionArchive; + } +} \ No newline at end of file