TechnoGen | Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++
- Halo sobat ! udah lama saya gak nulis-nulis blog lagi nih. Nah kali
ini saya akan bahas tentang Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++. Bagaimana sih permainan Gunting Batu Kertas (GUBATA) itu? Gimana Source Code nya? Nah
silahkan simak penjelasan dibawah ini.
Bagaimana sih permainan Gunting Batu Kertas (GUBATA) itu?
Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++ - Sebagaimana yang saya kutip dari Wikipedia, Gunting Batu Kertas (GUBATA) adalah sebuah permainan tangan dua orang yang digunakan untuk pemilihan acak, seperti halnya pelemparan koin, dadu, dan lain-lain.
Jika kedua pemain mengeluarkan isyarat yang sama, maka permainan diulang. Kadangkala pemain menggunakan sistem berulang-ulang artinya sekali kemenangan tidak cukup untuk menghentikan permainan. Misalnya pemain yang menang 5 kali terlebih dahulu menjadi pemenang. (sumber wikipedia)
Nah dalam kesempatan kali ini saya akan menjelaskan Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++ yangmana kita sebagai player bertanding dengan CPU atau PC sebagai lawan dengan rule siapa yang menang 5 kali, ialah yang menjadi juara.
Batu Gunting Kertas
Setiap isyarat mengalahkan satu dari dua isyarat lainnya.
Terdapat tiga isyarat
tangan dalam permainan ini. Batu digambarkan oleh tangan mengepal,
gunting digambarkan oleh jari telunjuk dan tengah, kertas digambarkan
oleh tangan terbuka. Tujuan dari permainan adalah mengalahkan lawan
bermain. Aturan standar adalah batu mengalahkan gunting, gunting
mengalahkan kertas, dan kertas mengalahkan batu.
Jika kedua pemain mengeluarkan isyarat yang sama, maka permainan diulang. Kadangkala pemain menggunakan sistem berulang-ulang artinya sekali kemenangan tidak cukup untuk menghentikan permainan. Misalnya pemain yang menang 5 kali terlebih dahulu menjadi pemenang. (sumber wikipedia)
Nah dalam kesempatan kali ini saya akan menjelaskan Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++ yangmana kita sebagai player bertanding dengan CPU atau PC sebagai lawan dengan rule siapa yang menang 5 kali, ialah yang menjadi juara.
Berikut source code yang saya buat dalam kesempatan kali ini :
Source Code Program Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++
#include <stdlib.h>#include <time.h>#include <conio.h> // digunakan untuk func getch()#include <windows.h> //digunakan untuk func Sleep() dan system(“cls”)using namespace std;#define SKORMENANG 5 //mendefinisikan variable skormenang, yang berarti jika poin sampai dengan 5, maka game berakhir.class Gubeka{private:int poinplayer; //Inisialisasi poin playerint pemenang;public:Gubeka(){ //konstruktor mendefinisikan value variable poinpc dan poinplayerpoinpc=0;poinplayer=0;}int Process(char A, char B){ //func process berfungsi sebagai pengoperasian jawaban dari PC dan playerswitch(A){case 'b': //jika player memilih BATU, maka bandingkan dengan pilihan pcif(B=='g') return 1; //jika pc memilih GUNTING maka player menangelse return 0; //jika sama. Maka DRAWcase 'g': //jika player memilih GUNTING, maka bandingkan dgn pilihan pcif(B=='k') return 1; //jika pc memilih KERTAS maka player menangelse if(B=='b') return 2; //jika pc memilih BATU maka pc menangelse return 0; //jika sama. Maka DRAWcase 'k': //jika player memilih KERTAS, maka dibandingkan dengan pilihan pcif(B=='b') return 1; //jika pc memilih BATU maka player menangelse if(B=='g') return 2; //jika pc memilih GUNTING maka pc menangelse return 0; //jika sama. Maka DRAWdefault:return -1;}}char Randomizer () {char pilihan;srand(time(NULL)); //inisialisasi generator bilangan acakint nilai = rand()%3; // ambil bilangan acak antara 0-2switch (nilai){case 0: pilihan='b'; break; //jika terpilih angka 0, maka pc memilih batucase 1: pilihan='g'; break; //jika terpilih angka 1, maka pc memilih guntingcase 2: pilihan='k'; break; //jika terpilih angka 2, maka pc memilih kertas}return pilihan; //mengembalikan nilai pilihan dari pc}void PlayGame(){starts: //checkpoint jika player mau restart gamedo {cout << "Masukkan: g, b, atau k\n";cout << "Gunting(g),\nBatu(b), \nKertas(k)\n\t: ";cin >> player; //input pilihan dari playerpc = Randomizer(); //mengambil value kembalian dari randomizerif (pc == 'g'){ //Cukup Jelascout << "\nPC memilih Gunting\n";}else if (pc == 'b'){ //---------------cout << "\nPC memilih Batu\n";}else if (pc == 'k'){ //---------------cout << "\nPC memilih Kertas\n";}pemenang = Process(player, pc); //ambil value dari Process() denganmemasukkan argument variable player dan pc. Lalu store ke variable pemenangif (pemenang == 0) cout << "Draw!\n";else if (pemenang == 1) {cout << "Anda menang!\n";poinplayer++; //poin player bertambah 1 jika menang}else if (pemenang == 2) {cout << "PC menang!\n";poinpc++; //poin pcr bertambah 1 jika menang}else cout << "Maaf Anda memasukkan pilihan ilegal!\n";cout << "\nPoin PC\t\t: " << poinpc; //poin pc ditampilkancout << "\nTekan enter untuk lanjut";getch();system("cls");}while (poinplayer < SKORMENANG && poinpc < SKORMENANG);//jika skor sudah sampai 5 makagame endif (poinplayer > poinpc) { //jika poin player lebih dari pc, makaplayer menangcout << "Anda menang untuk Game kali ini!\n";}else //jika poin pc lebih dari player, makaplayer menang{cout << "PC menang untuk Game kali ini!\n";}int ask;ask_restart:cout << "\n\nRestart Game? 1=yes, 2=no,\n"; //muncul opsi restart game atau tidak..cin>>ask;if (ask == 1){ //jika input 1, maka restart game, semuapoinpc =0; poin kembali ke value = 0poinplayer=0;system("cls");goto starts; //kembali ke checkpoint starts}else if(ask == 2){ //jika input 2 maka Game selesai.exit(0); //exit Game}else{goto ask_restart; //jika selain itu. Looping terhadap} checkpoint ask_restart}};int main() {Gubeka Game;cout << "Initializing Randomizer...\n";Game.Randomizer(); //init randomizercout << "Initializing Game Process...\n";Sleep(500); //delay setengah detikcout << "Game Started...\n";Sleep(500); //delay setengah detiksystem("cls");Sleep(500); //delay setengah detikGame.PlayGame(); //Start Gamereturn 0;}
Berikut hasil dari compile Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++ :
Fitur Initializing on Start Program |
Input Pilihan Player |
PC menginput pilihan random |
Kondisi Player ketika menang |
Kondisi ketika player kalah dan PC menang |
Nah itulah Cara Membuat Game Gunting Batu Kertas (GUBATA) Dengan Bahasa C++ . Jika Kalian punya source code yang lebih seru, silahkan coret-coret share di kolom komentar ya. Terima kasih :D