Permainan Casino Number Guessing di C

Permainan Casino Number Guessing di C

Permainan ini memungkinkan pemain untuk memasukkan nama dan jumlah uang awal, lalu membuat taruhan dengan mengajar angka acak antara 1-10. Jika pemain tepat, maka mereka menang 10 kali lipat dari taruhan, tetapi jika tidak, maka mereka kehilangan jumlah taruhan. Program ini juga mencatat sisa saldo pemain dan memungkinkan mereka untuk terus bermain selama mereka memiliki uang tersedia.

Dalam program ini, kita menggunakan dua kelas, yakni Display dan PlayerInfo. Kelas Display memiliki fungsi untuk menampilkan berbagai pesan dan menggarisbuni garis. Kelas PlayerInfo memiliki fungsi untuk mendapatkan dan mengatur jumlah uang, taruhan angka, dan jumlah uang yang diperbarui berdasarkan kemenangan atau kekalahan.

Fungsi utama dari program ini adalah membuat objek dari kelas PlayerInfo dan memanggil fungsi-fungsinya untuk memainkan permainan. Permainan akan terus berlanjut hingga pemain memutuskan untuk berhenti atau habis uang.

Berikut adalah sintaks kode C++ untuk program ini:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

class Display {
public:
 void displayMessage(string message) {
 cout << message << endl;
 }

 void drawLine(int length) {
 for (int i = 0; i < length; i++) {
 cout << "=";
 }
 cout << endl;
 }
};

class PlayerInfo {
public:
 int amount; // jumlah uang
 int guessNumber; // angka yang ditebak
 int betAmount; // jumlah taruhan

 void setAmount(int amount) {
 this->amount = amount;
 }

 void setGuessNumber(int guessNumber) {
 this->guessNumber = guessNumber;
 }

 void setBetAmount(int betAmount) {
 this->betAmount = betAmount;
 }

 int updateAmount(bool isWin) {
 if (isWin) {
 return amount + (betAmount * 10);
 } else {
 return amount - betAmount;
 }
 }

 bool checkWin() {
 if (amount <= 0) {
 return false;
 } else {
 return true;
 }
 }
};

int main() {
 Display display;
 PlayerInfo playerInfo;

 srand(time(0)); // inisialisasi seed acak

 int amount = 100; // jumlah uang awal
 int guessNumber; // angka yang ditebak
 int betAmount; // jumlah taruhan

 cout << "Welcome to the Casino Number Guessing Game!" << endl;
 cout << "Please enter your name: ";
 string name;
 cin >> name;

 playerInfo.setAmount(amount);
 playerInfo.setGuessNumber(rand() % 11); // inisialisasi angka yang ditebak
 playerInfo.setBetAmount(10); // inisialisasi jumlah taruhan

 while (playerInfo.checkWin()) {
 cout << "Please enter your guess: ";
 cin >> guessNumber;

 if (guessNumber == playerInfo.getGuessNumber()) {
 display.displayMessage("Congratulations, you win!");
 amount = playerInfo.updateAmount(true);
 } else {
 display.displayMessage("Sorry, you lose.");
 amount = playerInfo.updateAmount(false);
 }

 display.drawLine(20);

 cout << "Your current balance is: " << amount << endl;
 }

 if (!playerInfo.checkWin()) {
 display.displayMessage("Game over. You run out of money!");
 }

 return 0;
}

Dalam kode di atas, kita menggunakan fungsi-fungsi dari kelas Display dan PlayerInfo untuk menampilkan berbagai pesan, menggarisbuni garis, serta memantau sisa saldo pemain. Program ini akan terus berlanjut hingga pemain memutuskan untuk berhenti atau habis uang.

Saya harap artikel ini dapat membantu Anda dalam membuat permainan casino number guessing di C++!

Leave a comment