Skip to content

Commit 359f000

Browse files
authored
Merge pull request coders-school#66 from mariuszlisowski/TASK1B
added Response sell()
2 parents 3f08155 + a6c2b3f commit 359f000

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

shm/inc/Store.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class Player;
1010

1111
constexpr size_t MIN_CARGO_IN_STORE{ 0 };
1212
constexpr size_t MAX_CARGO_IN_STORE{ 100 };
13+
constexpr size_t STORE_CAPACITY { 1000 };
1314

1415
class Store : public Subscriber {
1516
public:

shm/src/Store.cpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
#include "shm/inc/Player.hpp"
77

88
Store::Response Store::buy(Cargo* cargo, size_t amount, Player* player) {
9+
if (!cargo) {
10+
return Response::lack_of_cargo;
11+
}
912
if (amount * cargo->getPrice() > player->getMoney()){
1013
return Response::lack_of_money;
1114
}
@@ -18,6 +21,20 @@ Store::Response Store::buy(Cargo* cargo, size_t amount, Player* player) {
1821
return Response::done;
1922
}
2023

24+
Store::Response Store::sell(Cargo* cargo, size_t amount, Player* player) {
25+
<<<<<<< HEAD
26+
if (!cargo) {
27+
return Response::lack_of_cargo;
28+
}
29+
if (cargo->getAmount() + amount > STORE_CAPACITY) {
30+
=======
31+
if (cargo->getAmount() + amount > Store::STORE_CAPACITY) {
32+
>>>>>>> df1858499674b7da1cc130f18aff165908ce1d17
33+
return Response::lack_of_space;
34+
}
35+
return Response::done;
36+
}
37+
2138
void Store::nextDay() {
2239
std::mt19937 generator(std::random_device{}());
2340
std::uniform_int_distribution<size_t> distribution{
@@ -28,9 +45,3 @@ void Store::nextDay() {
2845
cargo->setAmount(distribution(generator));
2946
}
3047
}
31-
Store::Response Store::sell(Cargo* cargo, size_t amount, Player* player) {
32-
if (cargo->getAmount() + amount > MAX_CARGO_IN_STORE) {
33-
return Response::lack_of_space;
34-
}
35-
return Response::done;
36-
}

0 commit comments

Comments
 (0)