Skip to content

enhancement/33-player-class #47

Merged
merged 2 commits into from
Feb 20, 2026
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Player.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
Loading