From 9786d5b6614c8657326fe1109997c298118c0b37 Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Fri, 27 Sep 2024 15:00:13 -0300 Subject: [PATCH] Created the LoanShark.cpp and LoanShark.h to be used as the LoanShark class and also add a new method on the Player class that check if a value is less the money owned by the player --- src/LoanShark.cpp | 52 +++++++++++++++++++++++++++++++++++++++++ src/Player.cpp | 6 ++++- src/include/LoanShark.h | 24 +++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/LoanShark.cpp create mode 100644 src/include/LoanShark.h diff --git a/src/LoanShark.cpp b/src/LoanShark.cpp new file mode 100644 index 0000000..eea0b71 --- /dev/null +++ b/src/LoanShark.cpp @@ -0,0 +1,52 @@ +// +// Created by gustavomiranda on 27/09/24. +// +#include +#include "LoanShark.h" + + +LoanShark::LoanShark(int money, double taxvalue) { + setOwnedMoney(money); + setTax(taxvalue); + +} + +void LoanShark::setTax(double taxvalue) { + tax = taxvalue; +} + +void LoanShark::setOwnedMoney(int money) { + ownedMoney = money; + +} + +int LoanShark::getOwnedMoney() { + return ownedMoney; +} + +void LoanShark::payLoan(Player *playerreference, int money) { + if (playerreference->checkEnoughMoney(money)) { + if (money > ownedMoney) { + playerreference->decrementMoney(ownedMoney); + setOwnedMoney(0); + } else { + playerreference->decrementMoney(money); + ownedMoney -= money; + } + + } +} + +void LoanShark::getLoan(Player *playerreference, int money) { + ownedMoney += money; + playerreference->incrementMoney(money); +} + +void LoanShark::updateOwnedMoney() { + ownedMoney = std::round(ownedMoney * (1+tax)); + +} + + + + diff --git a/src/Player.cpp b/src/Player.cpp index 4f3699b..3896717 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -33,4 +33,8 @@ Player::Player(){ Player::~Player() { delete inventory; -} \ No newline at end of file +} + +bool Player::checkEnoughMoney(int value) { + return money >= value; +} diff --git a/src/include/LoanShark.h b/src/include/LoanShark.h new file mode 100644 index 0000000..42426e4 --- /dev/null +++ b/src/include/LoanShark.h @@ -0,0 +1,24 @@ +// +// Created by gustavomiranda on 27/09/24. +// + +#ifndef DRUGWARS_LOANSHARK_H +#define DRUGWARS_LOANSHARK_H + +#include "Player.h" + +class LoanShark{ +private: + int ownedMoney; + double tax; + void setTax(double taxvalue); + void setOwnedMoney(int money); +public: + LoanShark(int money, double taxvalue); + int getOwnedMoney(); + void payLoan(Player *playerreference, int money); + void getLoan(Player *playerreference, int money); + void updateOwnedMoney(); +}; + +#endif //DRUGWARS_LOANSHARK_H