diff options
1 files changed, 37 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/06-Practice-05.04.2022/Game.cpp | 37 |
diff --git a/Year 1/Object-oriented Programming/06-Practice-05.04.2022/Game.cpp b/Year 1/Object-oriented Programming/06-Practice-05.04.2022/Game.cpp new file mode 100644 index 0000000..ae5fcc0 --- /dev/null +++ b/Year 1/Object-oriented Programming/06-Practice-05.04.2022/Game.cpp @@ -0,0 +1,37 @@ +#include "Game.h" + +/* Private */ + +void Game::turn(Player& player, double& bet) { + std::cout << "Enter command: "; + char buffer; + std::cin >> buffer; + + bool result = false; + for (int i = 0; i < this->caseCount; i++) { + if (cases[i].get_comm() == buffer) { + result = cases[i].exec(player, bet); + break; + } + } + + if (result) { + std::cout << "You win!"; + player.addToBalance("", bet); + } + else { + std::cout << "You lost!"; + player.deductFromBalance("", bet); + } + std::cout << " Current balance: " << player.get_balance() << std::endl; +} + +/* Public */ + +Game::Game(const GameCase* cases, unsigned casesCount) { + this->cases = new GameCase[casesCount]; + for (int i = 0; i < casesCount; i++) + this->cases[i] = cases[i]; +} + + |
