diff options
Separated NumberGamble game into its own set of header and cpp files
1 files changed, 76 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/07-Practice-05.04.2022/NumberGamble.cpp | 76 |
diff --git a/Year 1/Object-oriented Programming/07-Practice-05.04.2022/NumberGamble.cpp b/Year 1/Object-oriented Programming/07-Practice-05.04.2022/NumberGamble.cpp new file mode 100644 index 0000000..6ab799b --- /dev/null +++ b/Year 1/Object-oriented Programming/07-Practice-05.04.2022/NumberGamble.cpp @@ -0,0 +1,76 @@ +#include "NumberGamble.h" + +bool gameCase_evenOrOdd(double& bet) { + int rnd = getRandomBetween(1, 100); + std::cout << "Is the number [e]ven or [o]dd? "; + char buffer; + std::cin >> buffer; + + while (buffer != 'e' && buffer != 'o') { + std::cout << "Unknown option '" << buffer << "', choice must be either 'e' or 'o'." << std::endl << "Is the number [e]ven or [o]dd? "; + std::cin >> buffer; + } + + bool result = isEven(rnd) == (buffer == 'e'); + bet = (result) ? bet / 5 : 0; + std::cout << "The number was: " << rnd << std::endl; + return result; +} + +bool gameCase_isPrime(double& bet) { + int rnd = getRandomBetween(1, 100); + + bool result = isPrime(rnd); + bet = (result) ? bet / 2 : 0; + std::cout << "The number was: " << rnd << std::endl; + return result; +} + +bool gameCase_isPowerOfTwo(double& bet) { + int rnd = getRandomBetween(1, 100); + + bool result = isPowerOfTwo(rnd); + bet = (result) ? bet / 2 : 0; + std::cout << "The number was: " << rnd << std::endl; + return result; +} + +bool gameCase_higherOrLower(double& bet) { + int rnd = getRandomBetween(1, 100); + + std::cout << "Your number [20...60] "; + int num; + std::cin >> num; + + while (num < 20 || num > 60) { + std::cout << "Number not in range! Enter number [20...60] "; + std::cin >> num; + } + + std::cout << num << " will be [h]igher or [l]ower than random? "; + char guess; + std::cin >> guess; + + while (guess != 'h' && guess != 'l') { + std::cout << "Invalid option '" << guess << "', must be either 'h' or 'l'." << std::endl << num << " will be [h]igher or [l]ower than random? "; + std::cin >> guess; + } + + bool result = (rnd > num) == (guess == 'h'); + bet = (result) ? bet / 4 : 0; + std::cout << "The number was: " << rnd << std::endl; + return result; +} + +bool gameCase_guess(double& bet) { + int rnd = getRandomBetween(1, 100); + + std::cout << "Your guess: "; + int num; + std::cin >> num; + + bool result = num == rnd; + bet = (result) ? bet * 10 : 0; + std::cout << "The number was: " << rnd << std::endl; + return result; +} |
