
Pernah main gunting-batu-kertas? Permainan suit yang dilakukan oleh 2 orang, dengan aturan sebagai berikut:
A gunting, B kertas => A menang
A gunting, B batu => B menang
A gunting, B gunting => draw
..dst.
Sederhananya, gunting selalu menang dari kertas. Kertas selalu menang dari batu. Dan batu selalu memang dari gunting.
Kali ini, Anda akan bermain melawan PC(Personal Computer a.k.a komputer)
Anda akan suit/memilih terlebih dahulu, kemudian disusul oleh PC. Permainan akan berakhir jika salah satu dari pemain sudah mengumpulkan 3 poin kemenangan.
Baik, langsung saja, berikut kodenya:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define SKORMENANG 3
char AmbilPilihanAcak (void);
int FungsiMenang(char A, char B);
int main() {
char kamu, aku;
int poinku = 0;
int poinmu = 0;
int pemenang;
do {
cout << "\n\nMasukkan: g, b, atau k";
cout << "\ngunting(g), batu(b), kertas(k): ";
cin >> kamu;
aku = AmbilPilihanAcak();
cout << "PC memilih " << aku << "\n";
pemenang = FungsiMenang(kamu, aku);
if (pemenang == 0) cout << "Draw!\n";
else if (pemenang == 1) {
cout << "Anda menang!\n";
poinmu++;
}
else if (pemenang == 2) {
cout << "PC menang!\n";
poinku++;
}
else cout << "Maaf Anda memasukkan pilihan ilegal!\n";
cout << "Poin Anda: " << poinmu;
cout << " Poin PC: " << poinku;
}
while (poinmu < SKORMENANG && poinku < SKORMENANG);
if (poinmu > poinku)
cout << "\nAnda menang untuk kompetisi ini!\n";
else
cout << "\nPC menang untuk kompetisi ini!\n";
return 0;
}
char AmbilPilihanAcak (void) {
char pilihan;
srand(time(NULL)); //inisialisasi generator bilangan acak
int nilai = rand()%3; //ambil bilangan acak antara 0-2
switch (nilai){
case 0: pilihan='b'; break;
case 1: pilihan='g'; break;
case 2: pilihan='k'; break;
}
return pilihan;
}
int FungsiMenang(char A, char B){
switch(A){
case 'b':
if(B=='g') return 1;
else if(B=='k') return 2;
else return 0;
case 'g':
if(B=='k') return 1;
else if(B=='b') return 2;
else return 0;
case 'k':
if(B=='b') return 1;
else if(B=='g') return 2;
else return 0;
default:
return -1;
}
}
jika dijalankan, hasilnya kurang lebih seperti ini:




June 3, 2010 at 8:15 PM
hm……
lumayan juga…..
COBA AHh……..
June 3, 2010 at 8:19 PM
silakan
January 1, 2011 at 6:28 AM
bgus bgt progrm’x, bole mnt pnjlsan s.code’x yg detail biar tw gmn jln’x
January 12, 2012 at 11:15 AM
Mantap gan…
February 24, 2012 at 6:15 AM
thanks….n sedap games nie…. sambil tu dapat jugak back up mini pojet kawe….tq boh…..