Apa itu permainan tebak angka?
Ini adalah permainan menarik di mana pemain akan menebak angka dalam rentang tertentu. Jika angka yang dipilih cocok dengan angka kemenangan (angka yang dihasilkan oleh generator angka acak), maka pengguna akan mendapatkan hadiah atau jumlah taruhan akan dikurangi dari saldo dompet.
Cara bermain permainan tebak angka
Misalkan Apoorv adalah seorang pemain dan dia akan memainkan permainan tebak angka. Jadi pertama-tama dia perlu mengisi ulang dompetnya dengan jumlah tertentu. Jumlah tersebut harus lebih besar dari 1 sen karena jumlah taruhan minimal adalah 1 sen.
Setelah mengisi ulang dompet, Apoorv perlu menetapkan sejumlah taruhan. Ini adalah jumlah yang akan dikurangi dari dompet jika Apoorv kalah, dan jika menang, dia akan menerima 10 kali dari jumlah taruhan.
Sekarang Apoorv dapat memainkan permainan. Dia perlu memilih angka antara 1 hingga 10. Jika angka yang dipilih sama dengan angka kemenangan, dia akan menang. Pada setiap permainan, dompet Apoorv akan diperbarui dengan jumlah saat ini.
Sekarang saya harap Anda dapat memahami langkah-langkah cara memainkan permainan tebak angka. Jadi, mari kita lihat kodenya.
#include <iostream>#include <string> // Diperlukan untuk menggunakan string#include <cstdlib> // Diperlukan untuk menggunakan angka acak#include <ctime>#include <string.h>#include <stdio.h>using namespace std;// kelas untuk metode terkait tampilanclass Display{public: void printMessageCenter(const char* message); void headMessage(const char *message); void welcomeMessage(); void drawLine(int n, char symbol); void rules();};void Display::drawLine(int n, char symbol){ for(int i=0; i<n; i++) cout << symbol; cout << "\n" ;}void Display::rules(){ headMessage("ATURAN PERMAINAN"); cout << "\n\n\n\n"; drawLine(80,'-'); cout << "\t1. Pilih angka antara 1 hingga 10\n"; cout << "\t2. Jika menang, Anda akan mendapatkan 10 kali lipat dari uang yang Anda pertaruhkan\n"; cout << "\t3. Jika Anda bertaruh pada angka yang salah, Anda akan kehilangan jumlah taruhan Anda\n\n"; drawLine(80,'-'); cout << "\n\n\n\t\t\t Masukkan sembarang tombol untuk melanjutkan....."; getchar();}// Menyelaraskan pesanvoid Display::printMessageCenter(const char* message){ int len =0; int pos = 0; // hitung berapa banyak spasi yang perlu dicetak len = (78 - strlen(message))/2; cout << "\t\t\t"; for(pos =0 ; pos < len ; pos++) { // cetak spasi cout <<" "; } // cetak pesan cout << message;}// Pesan kepalavoid Display::headMessage(const char *message){ system("cls"); cout << "\t\t\t###########################################################################"; cout << "\n\t\t\t############ ############"; cout << "\n\t\t\t############ Proyek Permainan Kasino dalam C++ ############"; cout << "\n\t\t\t############ ############"; cout << "\n\t\t\t###########################################################################"; cout << "\n\t\t\t---------------------------------------------------------------------------\n"; printMessageCenter(message); cout << "\n\t\t\t----------------------------------------------------------------------------";}// Tampilkan pesanvoid Display::welcomeMessage(){ headMessage("Pusat Permainan"); cout << "\n\n\n\n\n"; cout << "\n\t\t\t **-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**\n"; cout << "\n\t\t\t =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="; cout << "\n\t\t\t = ="; cout << "\n\t\t\t = SELAMAT DATANG ="; cout << "\n\t\t\t = DI ="; cout << "\n\t\t\t = PERMAINAN KASINO ="; cout << "\n\t\t\t = ="; cout << "\n\t\t\t =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="; cout << "\n\t\t\t **-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**\n"; cout << "\n\n\n\t\t\t Masukkan sembarang tombol untuk melanjutkan....."; getchar();}// Kelas utama proyekclass PlayerInfo:public Display{public: int getGuessNumber(); void setGuessNumber(); void setAmount(); float getAmount(); int getdice(); void updateAmount(const bool isWin); void setBettingAmount(); bool isPlayerWin(); void init(); void displayMessageAfterPlay(const bool isWin); PlayerInfo():m_amount(0.00),m_bettingAmount(0.00),m_guessNumber(-1) { }private: float m_amount; // Total saldo pemain float m_bettingAmount; // Jumlah taruhan int m_guessNumber; // Angka yang ditebak pemain};// Atur jumlah dompetvoid PlayerInfo::setAmount(){ headMessage("Atur Jumlah"); do { cout << "\n\nMasukkan jumlah deposit untuk bermain: $"; cin >> m_amount; if(m_amount < 0.01f) { cout << "\n\nSilakan masukkan jumlah yang valid untuk bermain!!"; } } while(m_amount < 0.01f);}// Dapatkan jumlah dompetfloat PlayerInfo::getAmount(){ return m_amount;}int PlayerInfo::getGuessNumber(){ return m_guessNumber;}// Dapatkan angka dari pemainvoid PlayerInfo::setGuessNumber(){ headMessage("Atur Angka Tebakan"); do { cout << "\n\nTebak angka Anda untuk bertaruh antara 1 hingga 10 :"; cin >> m_guessNumber; if(m_guessNumber <= 0 || m_guessNumber > 10) cout << "\n\nSilakan periksa angka!! harus antara 1 hingga 10\n" <<"\nMasukkan ulang angka\n "; } while(m_guessNumber <= 0 || m_guessNumber > 10);}// Perbarui jumlah dompetvoid PlayerInfo::updateAmount(const bool isWin){ m_amount = isWin ? (m_amount + (m_bettingAmount *10)): (m_amount - m_bettingAmount);}// Atur jumlah taruhanvoid PlayerInfo::setBettingAmount(){ headMessage("Atur Jumlah Taruhan"); do { cout <<"\n\nMasukkan uang yang akan dipertaruhkan: $"; cin >> m_bettingAmount; if(m_bettingAmount > m_amount) { cout << "\n\nSaldo dompet Anda adalah $" << m_amount; cout << "\n\nJumlah taruhan Anda lebih besar dari saldo saat ini"; } } while(m_bettingAmount > m_amount);}// Periksa apakah pemain menangbool PlayerInfo::isPlayerWin(){ // Akan menyimpan bilangan bulat yang dihasilkan secara acak antara 1 dan 10 const int dice = rand()%10 + 1; return ((dice == getGuessNumber())? true:false);}// Inisialisasi permainanvoid PlayerInfo::init(){ welcomeMessage(); // "Seed" generator acak srand(time(0)); rules();}// Tampilkan pesan setelah setiap permainanvoid PlayerInfo::displayMessageAfterPlay(const bool isWin){ if(isWin) { cout << "\n\nKeberuntungan!! Anda memenangkan $" << m_bettingAmount * 10; cout << "\n\nSekarang jumlah yang diperbarui adalah $" << m_amount; } else { cout << "\n\nSial kali ini!! Anda kehilangan $"<< m_bettingAmount <<"\n"; cout << "\n\nSekarang jumlah yang diperbarui adalah $" << m_amount; }}int main(){ class PlayerInfo obj_player ; char choice; // inisialisasi permainan obj_player.init(); // Atur jumlah dompet obj_player.setAmount(); do { cout << "\n\nSaldo Anda saat ini adalah $" << obj_player.getAmount() << "\n"; // Atur jumlah taruhan obj_player.setBettingAmount(); // Atur angka tebakan obj_player.setGuessNumber(); // Periksa apakah pemain kalah atau menang const bool isPlayerWin = obj_player.isPlayerWin(); // Perbarui jumlah dompet obj_player.updateAmount(isPlayerWin); // Tampilkan hasil setelah setiap permainan obj_player.displayMessageAfterPlay(isPlayerWin); // Periksa saldo dompet dan tanyakan kepada pemain // untuk bermain lagi if(obj_player.getAmount() == 0.00f) { cout << "Anda tidak memiliki uang untuk bermain, Selamat tinggal.."; break; } // Minta pilihan pengguna untuk bermain ulang cout << "\n\n-->Apakah Anda ingin bermain lagi (y/n)? "; cin >> choice; } while(choice =='Y'|| choice=='y'); cout << "\n\n\n"; obj_player.drawLine(70,'='); cout << "\n\nTerima kasih telah bermain. Saldo Anda adalah $" << obj_player.getAmount() << "\n\n"; obj_player.drawLine(70,'='); return 0;}