Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / 07-Practice-05.04.2022 / NumberGamble.cpp
diff options
context:
space:
mode:
Commit27cf6165d0592f842ed667a8da3013489213c2a1 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-04-06 11:03:55 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-04-06 11:03:55 +0300
Files8f619fbcb516887410b11d695a7cd381e90125c3 /Year 1/Object-oriented Programming/07-Practice-05.04.2022/NumberGamble.cpp
uni-projects-27cf6165d0592f842ed667a8da3013489213c2a1.tar
uni-projects-27cf6165d0592f842ed667a8da3013489213c2a1.tar.gz
uni-projects-27cf6165d0592f842ed667a8da3013489213c2a1.zip
Parent6ec95b5d689aa38b373ef948ba67ba59235c0eb9 (diff)
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.cpp76
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;
+}